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})
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()