Exemple #1
0
        model.load_model(path)
        noise = model.gen_noise(0, 1, (NUM, LATENT_DIM))
        x = model.generator(noise)
        x = x.data.cpu().numpy().reshape(x.size(0), -1)
        y = np.zeros(NUM) + i
        x_gen.append(x)
        y_gen.append(y)
    x_gen = np.concatenate(x_gen)
    y_gen = np.concatenate(y_gen)

    data, label = load_npz()
    (x_train, y_train), (x_test, y_test) = load_data()

    clf_model = KNeighborsClassifier(n_neighbors=1)
    clf_model.fit(x_train, y_train)
    pred_data = clf_model.predict(data)
    pred_test = clf_model.predict(x_test)
    pred_gen = clf_model.predict(x_gen)
    classify_analysis(label, pred_data, labels=LABELS)
    classify_analysis(y_test, pred_test, labels=LABELS)
    classify_analysis(y_gen, pred_gen, labels=LABELS)
    print('-' * 20 + 'TSTR' + '-' * 20)
    clf_model.fit(x_gen, y_gen)
    pred_data = clf_model.predict(data)
    pred_test = clf_model.predict(x_test)
    pred_gen = clf_model.predict(x_gen)
    classify_analysis(label, pred_data, labels=LABELS)
    classify_analysis(y_test, pred_test, labels=LABELS)

    plot_errorband({'fake': x_gen, 'real': data})
Exemple #2
0
        epochs=EPOCHS,
        sample_cycle=SAMPLE_CYCLE,
        target=TARGET,
    )
    model.plot_history(name=TARGET)
    toc = time.time()
    print('Training costs {:.2f}s'.format(toc - tic))
else:
    path =\
        './ckpt/{:s}_{:d}.pkl'.format(model.__class__.__name__, TARGET)
    model.load_model(path)

(x_train, y_train), (x_test, y_test) = load_data(NAME)
print(x_train[y_train == TARGET].shape, x_train[y_train != TARGET].shape,
      x_test[y_test == TARGET].shape, x_test[y_test != TARGET].shape)

detector = AnoGAN(model, LATENT_DIM)
score = detector.anomaly_score(x_test, lambda_score=0.1)
score = score.cpu().data.numpy()
pred = score > 10
print(pred)
pred = (pred - 0.5) * 2
print(pred)
classify_analysis(y_test, pred, labels=LABELS)

plt.figure(figsize=(15, 5))
plt.scatter(range(len(pred)), pred, label='anomaly score', marker='o')
plt.scatter(range(len(y_test)), y_test, label='label', marker='x')
plt.legend(loc='best')
plt.show()