|
|
|
@@ -15,6 +15,7 @@ |
|
|
|
"""Toolbox for anomaly detection by using VAE.""" |
|
|
|
import numpy as np |
|
|
|
|
|
|
|
from mindspore._checkparam import Validator |
|
|
|
from ..dpn import VAE |
|
|
|
from ..infer import ELBO, SVI |
|
|
|
from ...optim import Adam |
|
|
|
@@ -26,7 +27,7 @@ class VAEAnomalyDetection: |
|
|
|
Toolbox for anomaly detection by using VAE. |
|
|
|
|
|
|
|
Variational Auto-Encoder(VAE) can be used for Unsupervised Anomaly Detection. The anomaly score is the error |
|
|
|
between the X and the reconstruction. If the score is high, the X is mostly outlier. |
|
|
|
between the X and the reconstruction of X. If the score is high, the X is mostly outlier. |
|
|
|
|
|
|
|
Args: |
|
|
|
encoder(Cell): The Deep Neural Network (DNN) model defined as encoder. |
|
|
|
@@ -84,6 +85,7 @@ class VAEAnomalyDetection: |
|
|
|
Returns: |
|
|
|
Bool, whether the sample is an outlier. |
|
|
|
""" |
|
|
|
threshold = Validator.check_positive_float(threshold) |
|
|
|
score = self.predict_outlier_score(sample_x) |
|
|
|
return score >= threshold |
|
|
|
|
|
|
|
|