|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
import os os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2' from LossHistory import * from data_load import load_mnist from NNClass.nnclass import * from NNClass.neural_nework_class import * import sys import numpy as np from tensorflow.keras.models import Model import matplotlib.pyplot as plt import time def Mymodel_get(save_path=None, file1=None, file2=None, mini_batch_size=128, epochs=1,X_train=None, y_train=None, X_test=None, y_test=None): save_path = save_path.format(file1, file2) model = Mymodel() model.compile(optimizer='sgd', loss='categorical_crossentropy', metrics=['accuracy']) loss = Loss_and_Accuracy(model=model, save_path=save_path, step_per=True, train_data=X_train, train_label=y_train, test_data=X_test,test_label=y_test) #loss = LossHistory(model=model, val_data=X_test, val_label=y_test, result_save_path=save_path,step_per_val=True) st = time.time() model.fit(x=X_train, y=y_train, batch_size=mini_batch_size, epochs=epochs, shuffle=False, verbose=1, validation_data=(X_test, y_test), callbacks=[loss]) print(time.time() - st ,"times") loss.save_result() |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
import tensorflow as tf #tf.random.set_seed(41) from tensorflow.keras import Sequential, layers from tensorflow.keras.models import Model class Mymodel(Model): def __init__(self): super(Mymodel, self).__init__() self.dense1 = layers.Dense(128) self.activation1 = layers.ReLU() self.dense2 = layers.Dense(10, activation=tf.nn.softmax) def call(self, inputs): x = self.dense1(inputs) x = self.activation1(x) return self.dense2(x) |
아직 정확히 작동방식을 몰라 두 가지 조건에 대해서 실험 Model.fit(shuffle = True) , class Mymodel 위쪽 import 영역 tf.random.seed(41) Model.fit(shuffle = True)…