# training dataset train_x, labels = create_noise_data() # test dataset X, Y = np.meshgrid(np.linspace(-3, 3, 100), np.linspace(-3, 3, 100)) test_x = np.array([X.ravel(), Y.ravel()]).reshape(2, -1).T # constructing NN model = Neural_net(2, [10, 10, 10], 1) model.add(['tanh', 'swish', 'tanh']) routine = Adam(lr=0.1) model.compile(loss='binary_crossentropy', optimizer=routine) #---learning---- history = model.fit(train_x, labels, n_iter=max_iter, history=True) # plot the training data plt.scatter(train_x[labels.ravel() == 0, 0], train_x[labels.ravel() == 0, 1], marker=".", s=20, color='b') plt.scatter(train_x[labels.ravel() == 1, 0], train_x[labels.ravel() == 1, 1], marker="x", s=20, color='r') # plot the test data
fig = plt.figure(figsize=(15, 9)) for n, func in enumerate(multi_func, 1): train_y = func(train_x) # plotting training data ax = fig.add_subplot(2, 2, n) ax.scatter(train_x, train_y, s=12, color='blue') # constructing NN model = Neural_net(n_input=1, n_hidden=[10, 10, 10], n_output=1) model.add(['tanh', 'tanh', 'sigmoid']) routine = Adam(lr=0.1, beta_1=0.9, beta_2=0.95) model.compile(loss='sum_squared_error', optimizer=routine) #-----learning------ import time start = time.time() history = model.fit(train_x, train_y, n_iter=max_iter, history=True) print(time.time() - start) train_acc[func_name[n - 1]] = history['acc'] # prediction data y = model(x) ax.plot(x, y, 'r-') plt.xticks([-1, 0, 1]) plt.yticks([0, 0.5, 1]) plt.ylim([-0.1, 1.1]) plt.subplots_adjust(wspace=0.2, hspace=0.3) plt.show() fig = plt.figure(figsize=(10, 4)) ax = fig.add_subplot(111) x = np.arange(max_iter)
max_iter = 1e+4 '''#0 loading data ''' (X_train, train_t), (X_test, test_t) = load_mnist(normalize=True) train_t = to_categorical(train_t) '''#1 config for NN ''' model = Neural_net(784, [100, 100, 100, 100], 10, alpha=0.01) model.add(['tanh', 'softsign', 'softplus', 'swish']) # optimizer routine = Adam(lr=0.01) model.compile(loss='categorical_crossentropy', optimizer=routine) '''#2 learning ''' import time start = time.time() hist = model.fit(X_train, train_t, batch_size=256, n_iter=max_iter, history=True) print(time.time() - start) '''#3 preparing test data ''' data, label = get_mini_batch(X_test, test_t, batch_size=1) '''#4 showing image ''' fig2 = plt.figure(figsize=(11, 4)) ax = fig2.add_subplot(111) ax.imshow(data.reshape(28, 28), cmap='gray') plt.tick_params(labelbottom=False, labelleft=False, bottom=False, left=False) '''#5 output prediction data ''' prob = model(data).ravel() prediction = np.argmax(prob) # --- probability ---