def run(self, epochs=400): d = self.data X_train, X_test, y_train, y_test = d.X_train, d.X_test, d.y_train, d.y_test X, y = d.X, d.y m = self.model h = m.fit(X_train, y_train, epochs=epochs, validation_data=[X_test, y_test], verbose=0) skeras.plot_loss(h) plt.title('History of training') plt.show() yp = m.predict(X_test) print('Loss:', m.evaluate(X_test, y_test)) plt.plot(yp, label='Origial') plt.plot(y_test, label='Prediction') plt.legend(loc=0) plt.title('Validation Results') plt.show() yp = m.predict(X) plt.plot(yp, label='Origial') plt.plot(y, label='Prediction') plt.legend(loc=0) plt.title('All Results') plt.show()
def main(epochs=20): Nin = 784 Nh_l = [100, 50] number_of_class = 10 Nout = number_of_class data = Data_func() model = DNN(Nin, Nh_l, Nout) batch_size = 100 (X_train, Y_train), (X_test, Y_test) = data N_tr = X_train.shape[0] loss_l = {"loss": [], "val_loss": []} acc_l = {"accuracy": [], "val_accuracy": []} for epoch in range(epochs): # Train train(model, X_train, Y_train, N_tr, batch_size) # Validation validation(model, X_test, Y_test) print(f'Epoch {epoch}, ' f'Loss: {tr_loss.result():.3}, ' f'Acc: {tr_acc.result() * 100:.3}, ' f'Test Loss: {te_loss.result():.3}, ' f'Test Accuracy: {te_acc.result() * 100:.3}') loss_l["loss"].append(tr_loss.result()) acc_l["accuracy"].append(tr_acc.result()) loss_l["val_loss"].append(te_loss.result()) acc_l["val_accuracy"].append(te_acc.result()) plot_loss(loss_l) plot_acc(acc_l) plt.show()
def main(in_ch=1, epochs=10, batch_size=512, fig=True): data = DATA(in_ch=in_ch) print(data.input_shape, data.x_train_in.shape) unet = UNET(data.input_shape, data.n_ch) history = unet.fit(data.x_train_in, data.x_train_out, epochs=epochs, batch_size=batch_size, shuffle=True, validation_split=0.2) if fig: plot_loss(history) show_images(data, unet)
def main(): Nin = 13 Nh = 5 Nout = 1 model = ANN(Nin, Nh, Nout) (X_train, y_train), (X_test, y_test) = Data_func() history = model.fit(X_train, y_train, epochs=100, batch_size=100, validation_split=0.2, verbose=2) performace_test = model.evaluate(X_test, y_test, batch_size=100) print('\nTest Loss -> {:.2f}'.format(performace_test)) plot_loss(history) plt.show()
def main(): model = DNN(Nin, Nh_l, Nout) (X_train, Y_train), (X_test, Y_test) = Data_func() history = model.fit(X_train, Y_train, epochs=5, batch_size=100, validation_split=0.2) performace_test = model.evaluate(X_test, Y_test, batch_size=100) print('Test Loss and Accuracy ->', performace_test) plot_loss(history) plt.show() plot_acc(history) plt.show()
def run(self, epochs=400): d = self.data X_train, X_test, y_train, y_test = d.X_train, d.X_test, d.y_train, d.y_test X, y = d.X, d.y m = self.model h = m.fit(X_train, y_train, epochs=epochs, validation_data=[X_test, y_test], verbose=0) skeras.plot_loss(h) plt.title('History of training') plt.show() yp = m.predict(X_test) print('Loss:', m.evaluate(X_test, y_test)) plt.plot(yp, label='Origial') plt.plot(y_test, label='Prediction') plt.legend(loc=0) plt.title('Validation Results') plt.show() yp = m.predict(X_test).reshape(-1) print('Loss:', m.evaluate(X_test, y_test)) print(yp.shape, y_test.shape) df = pd.DataFrame() df['Sample'] = list(range(len(y_test))) * 2 df['Normalized #Passengers'] = np.concatenate([y_test, yp], axis=0) df['Type'] = ['Original'] * len(y_test) + ['Prediction'] * len(yp) plt.figure(figsize=(7, 5)) sns.barplot(x="Sample", y="Normalized #Passengers", hue="Type", data=df) plt.ylabel('Normalized #Passengers') plt.show() yp = m.predict(X) plt.plot(yp, label='Origial') plt.plot(y, label='Prediction') plt.legend(loc=0) plt.title('All Results') plt.show()
def main(): Nh_l = [100, 50] Pd_l = [0.0, 0.0] number_of_class = 10 Nout = number_of_class (X_train, Y_train), (X_test, Y_test) = Data_func() model = DNN(X_train.shape[1], Nh_l, Pd_l, Nout) history = model.fit(X_train, Y_train, epochs=10, batch_size=100, validation_split=0.2) performace_test = model.evaluate(X_test, Y_test, batch_size=100) print('Test Loss and Accuracy ->', performace_test) plot_loss(history, '(a) 손실 추이') plt.show() plot_acc(history, '(b) 정확도 추이') plt.show()
def main(epochs=20, batch_size=128): data = DATA() autoencoder = AE(data.input_shape) history = autoencoder.fit(data.x_train, data.x_train, epochs=epochs, batch_size=batch_size, shuffle=True, validation_split=0.2) plot_acc(history, '(a) Accuracy') plt.show() plot_loss(history, '(b) Cost') plt.show() show_ae(autoencoder, data) plt.show()
def main(): Nin = 784 Nh_l = [100, 50] number_of_class = 10 Nout = number_of_class (X_train, Y_train), (X_test, Y_test) = Data_func() model = DNN(Nin, Nh_l, Nout) history = model.fit(X_train, y_train, epochs=10, batch_size=100, validation_split=0.2) performace_test = model.evaluate(X_test, y_test, batch_size=100) print('Test Loss and Accuracy ->', performace_test) plot_acc(history) plt.show() plot_loss(history) plt.show()
def main(): x_nodes = 784 z_dim = 36 autoencoder = AE(x_nodes, z_dim) history = autoencoder.fit(X_train, X_train, epochs=10, batch_size=256, shuffle=True, validation_data=(X_test, X_test)) plot_acc(history, '(a) Accuracy Change') plt.show() plot_loss(history, '(b) Loss Change') plt.show() show_ae(autoencoder) plt.show()
def main(): x_nodes = 784 z_dim = 36 autoencoder = AE(x_nodes, z_dim) history = autoencoder.fit(X_train, X_train, epochs=500, batch_size=256, shuffle=True, validation_data=(X_test, X_test)) plot_acc(history, '(a) 학습 경과에 따른 정확도 변화 추이') plt.show() plot_loss(history, '(b) 학습 경과에 따른 손실값 변화 추이') plt.show() show_ae(autoencoder) plt.show()
def main(): Nin = 784 Nh = 100 number_of_class = 10 Nout = number_of_class # model = ANN_models_func(Nin, Nh, Nout) # model = ANN_seq_func(Nin, Nh, Nout) # model = ANN_models_class(Nin, Nh, Nout) model = ANN_seq_class(Nin, Nh, Nout) (X_train, Y_train), (X_test, Y_test) = Data_func() history = model.fit(X_train, Y_train, epochs=5, batch_size=100, validation_split=0.2) performace_test = model.evaluate(X_test, Y_test, batch_size=100) print('Test Loss and Accuracy ->', performace_test) plot_loss(history) plt.show() plot_acc(history) plt.show()
def run(self, epochs=100, batch_size=128, verbose=1): data = self.data model = self.model fig = self.fig history = self.fit(epochs=epochs, batch_size=batch_size, verbose=verbose) score = model.evaluate(data.X_test, data.Y_test, verbose=0) print('Confusion matrix') Y_test_pred = model.predict(data.X_test, verbose=0) y_test_pred = np.argmax(Y_test_pred, axis=1) print(metrics.confusion_matrix(data.y_test, y_test_pred)) print('Test score:', score[0]) print('Test accuracy:', score[1]) # Save results suffix = sfile.unique_filename('datatime') foldname = 'output_' + suffix os.makedirs(foldname) skeras.save_history_history('history_history.npy', history.history, fold=foldname) model.save_weights(os.path.join(foldname, 'dl_model.h5')) print('Output results are saved in', foldname) if fig: plt.figure(figsize=(12, 4)) plt.subplot(1, 2, 1) skeras.plot_acc(history) plt.subplot(1, 2, 2) skeras.plot_loss(history) plt.show() self.history = history return foldname
def main(): batch_size = 128 epochs = 10 data = DATA() model = CNN(data.input_shape, data.num_classes) history = model.fit(data.x_train, data.y_train, batch_size=batch_size, epochs=epochs, validation_split=0.2) score = model.evaluate(data.x_test, data.y_test) print() print('Test loss:', score[0]) print('Test accuracy:', score[1]) plot_loss(history) plt.show() plot_acc(history) plt.show()
#print('y_train_shape:{}'.format(y_train.shape)) #print('X_test_shape:{}'.format(X_test.shape)) #print('y_test_shape:{}'.format(y_test.shape)) #print(X_train[0], y_train[0]) model = lstm_obj.build_model([5, window, 1]) h = model.fit(X_train, y_train, batch_size=512, epochs=30, validation_split=0.1, verbose=1) fig, ax = plt.subplots(nrows=1, ncols=1) skeras.plot_loss(h) plt.title('History of training') #plt.show() #skeras.save_history_history(symbol_name, h, fold='/home/deep-core2/바탕화면/Stock1') #fig.savefig('/home/deep-core2/바탕화면/Stock1/{}_training_history.png'.format(symbol_name)) diff = [] ratio = [] predicted_test_norm = model.predict( X_test ) # test set의 X(normalized)값에 대해서 예측한 y(normalized)값을 p라고 명함. print(predicted_test_norm.shape) # for each data index in test data for u in range(len(y_test)): # y_test의 날짜 만큼 예측 값을 기록함. # pr = prediction day u pr = predicted_test_norm[u][0]
def load_data(): (X_train, y_train), (X_test, y_test) = datasets.boston_housing.load_data() scaler = preprocessing.MinMaxScaler() X_train = scaler.fit_transform(X_train) X_test = scaler.transform(X_test) return (X_train, y_train), (X_test, y_test) if __name__ == "__main__": Nin = 13 Nh = 5 Nout = 1 model = ANN(Nin, Nh, Nout) (X_train, y_train), (X_test, y_test) = load_data() history = model.fit(X_train, y_train, epochs=100, batch_size=100, validation_split=0.2, verbose=2) performace_test = model.evaluate(X_test, y_test, batch_size=100) print("\nTest Loss -> {:.2f}".format(performace_test)) plt.figure(figsize=(5, 5), dpi=100) plot_loss(history) plt.show()