def load_autoencoder(): ae_kwargs = {} ae_kwargs["latent_dim"] = 2 ae_kwargs["hidden_dim"] = [15, 7] ae_kwargs["epochs"] = 14 ae_kwargs["batch_size"] = 128 ae = AutoencoderModel(in_train.shape[1], **ae_kwargs) ae.load_model() return ae
def load_autoencoder(): ae_kwargs = {} ae_kwargs["latent_dim"] = 2 ae_kwargs["hidden_dim"] = [15, 7] ae_kwargs["epochs"] = 14 ae_kwargs["batch_size"] = 128 ae = AutoencoderModel(in_train.shape[1], **ae_kwargs) ae.load_model() metrics = load_metrics("metrics/" + ae.model_name + "/metrics.json") return ae, metrics
def train_autoencoder(): # Instantiate and Train Autoencoder ae_kwargs = {} ae_kwargs["latent_dim"] = 2 ae_kwargs["hidden_dim"] = [15, 7] ae_kwargs["epochs"] = 14 ae_kwargs["batch_size"] = 128 # ae_kwargs["model_path"] = ae_model_path ae = AutoencoderModel(in_train.shape[1], **ae_kwargs) ae.train(in_train, in_test) ae.save_model() inlier_scores = ae.compute_anomaly_score(in_test) outlier_scores = ae.compute_anomaly_score(out_test) print(inlier_scores) print(outlier_scores) metrics = eval_utils.evaluate_model( inlier_scores, outlier_scores, model_name="ae", show_plot=False) print(metrics) return metrics
# DATA. # # ########################################################################### from models.ae import AutoencoderModel import numpy as np from utils.eval_utils import load_metrics import json ae_kwargs = {} in_shape = 18 ae_kwargs["latent_dim"] = 2 ae_kwargs["hidden_dim"] = [15, 7] ae_kwargs["epochs"] = 14 ae_kwargs["batch_size"] = 128 ae = AutoencoderModel(in_shape, **ae_kwargs) ae.load_model() metrics = load_metrics("metrics/" + ae.model_name + "/metrics.json") def predict(args): data = np.array(args) if data.shape[1] != 18: return {"status": "input data should have 18 features"} scores = ae.compute_anomaly_score(data) predictions = (scores > metrics["threshold"]) result = {"scores": scores.tolist(), "predictions": list(predictions.tostring()) }