def load_data(): train_data_name = "../data/ch08.train.npz" test_data_name = "../data/ch08.test.npz" dataReader = DataReader_2_0(train_data_name, test_data_name) dataReader.ReadData() dataReader.GenerateValidationSet() x_train, y_train, x_val, y_val = dataReader.XTrain, dataReader.YTrain, dataReader.XDev, dataReader.YDev x_test, y_test = dataReader.XTest, dataReader.YTest return x_train, y_train, x_val, y_val, x_test, y_test
def load_data(): train_data_name = "../data/ch11.train.npz" test_data_name = "../data/ch11.test.npz" dataReader = DataReader_2_0(train_data_name, test_data_name) dataReader.ReadData() dataReader.NormalizeY(NetType.MultipleClassifier, base=1) dataReader.NormalizeX() dataReader.Shuffle() dataReader.GenerateValidationSet() x_train, y_train = dataReader.XTrain, dataReader.YTrain x_test, y_test = dataReader.XTest, dataReader.YTest x_val, y_val = dataReader.XDev, dataReader.YDev return x_train, y_train, x_test, y_test, x_val, y_val
def ShowResult(net, dataReader, title): # draw train data X, Y = dataReader.XTrain, dataReader.YTrain plt.plot(X[:, 0], Y[:, 0], '.', c='b') # create and draw visualized validation data TX = np.linspace(0, 1, 100).reshape(100, 1) TY = net.inference(TX) plt.plot(TX, TY, 'x', c='r') plt.title(title) plt.show() #end def if __name__ == '__main__': dataReader = DataReader_2_0(train_data_name, test_data_name) dataReader.ReadData() dataReader.GenerateValidationSet() n_input, n_hidden, n_output = 1, 2, 1 eta, batch_size, max_epoch = 0.05, 10, 5000 eps = 0.001 hp = HyperParameters_2_0(n_input, n_hidden, n_output, eta, max_epoch, batch_size, eps, NetType.Fitting, InitialMethod.Xavier) net = NeuralNet_2_0(hp, "sin_121") # 加载已经训练好的权重 net.LoadResult() # net.train(dataReader, 50, True)