Exemple #1
0
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
Exemple #2
0
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
Exemple #3
0
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
Exemple #4
0
#  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())
              }