Sergey Kolpinskiy 2 лет назад
Родитель 9b05e1cd63
Сommit 61e1534751

@ -18,7 +18,7 @@ from matplotlib import pyplot
from pandas import DataFrame
import numpy as np
import matplotlib.pylab as plt
#import aes_lib as aes
import tensorflow.keras
import numpy as np
import math
@ -29,9 +29,7 @@ from pandas import DataFrame
from sklearn.metrics import precision_score, recall_score, f1_score, confusion_matrix
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Activation
#from tensorflow.keras.utils import to_categorical
#from sklearn.metrics import zero_one_loss
#from sklearn.metrics import confusion_matrix
visual = True
@ -104,35 +102,39 @@ def create_fit_save_ae(cl_train, ae_file, irefile, epohs, verbose_show, patience
# Ниже строки читать входные данные пользователя с помощью функции map ()
ae_arch = list(map(int, input("Задайте архитектуру скрытых слоёв автокодировщика, например, в виде 3 1 3 : ").strip().split()))[:n]
ae = tensorflow.keras.models.Sequential()
# input layer
ae.add(tensorflow.keras.layers.Dense(size))
ae.add(tensorflow.keras.layers.Activation('tanh'))
# hidden layers
for i in range(len(ae_arch)):
ae.add(tensorflow.keras.layers.Dense(ae_arch[i]))
ae.add(tensorflow.keras.layers.Activation('tanh'))
# output layer
ae.add(tensorflow.keras.layers.Dense(size))
ae.add(tensorflow.keras.layers.Activation('linear'))
else:
ae = tensorflow.keras.models.Sequential()
# input layer
ae.add(tensorflow.keras.layers.Dense(size))
ae.add(tensorflow.keras.layers.Activation('tanh'))
# hidden layers
ae.add(tensorflow.keras.layers.Dense(3))
ae.add(tensorflow.keras.layers.Activation('tanh'))
#ae.add(tensorflow.keras.layers.Dense(4))
#ae.add(tensorflow.keras.layers.Activation('tanh'))
#ae.add(tensorflow.keras.layers.Dense(5))
#ae.add(tensorflow.keras.layers.Activation('tanh'))
ae.add(tensorflow.keras.layers.Dense(2))
ae.add(tensorflow.keras.layers.Activation('tanh'))
ae.add(tensorflow.keras.layers.Dense(1))
ae.add(tensorflow.keras.layers.Activation('tanh'))
ae.add(tensorflow.keras.layers.Dense(2))
ae.add(tensorflow.keras.layers.Activation('tanh'))
#ae.add(tensorflow.keras.layers.Dense(5))
#ae.add(tensorflow.keras.layers.Activation('tanh'))
#ae.add(tensorflow.keras.layers.Dense(4))
#ae.add(tensorflow.keras.layers.Activation('tanh'))
ae.add(tensorflow.keras.layers.Dense(3))
ae.add(tensorflow.keras.layers.Activation('tanh'))
# output layer
ae.add(tensorflow.keras.layers.Dense(size))
ae.add(tensorflow.keras.layers.Activation('linear'))
@ -176,11 +178,7 @@ def test(y_pred, Y_test):
def predict_ae(nn, x_test, threshold):
x_test_predicted = nn.predict(x_test)
ire = ire_array(x_test, x_test_predicted)
# Расчет ошибки при нормализации: иначе закоментировать и раскоментировать 81 и 82
#x_test_norm = norm_array(x_test, 0)
#x_test_predicted_norm = nn.predict(x_test_norm)
#x_test_predicted = norm_array(x_test_predicted_norm, 1)
#ire = ire_array(x_test, x_test_predicted)
predicted_labels = (ire > threshold).astype(float)
predicted_labels = predicted_labels.reshape((predicted_labels.shape[0], 1))
ire = np.transpose(np.array([ire]))

Загрузка…
Отмена
Сохранить