def train(data_path): load_data = pd.read_pickle(data_path).iloc[:10000, :] xs = load_data.iloc[:, 1:] print(xs.head(2)) print('sample size:', pd.read_pickle(data_path).shape[0]) ys = load_data.a data = tfnn.Data(xs, ys, name='road_data') network = tfnn.RegNetwork(xs.shape[1], 1, do_dropout=False) n_data = network.normalizer.minmax_fit(data) t_data, v_data = n_data.train_test_split(0.7) network.add_hidden_layer(100, activator=tfnn.nn.relu, dropout_layer=True) network.add_output_layer(activator=None, dropout_layer=False) global_step = tfnn.Variable(0, trainable=False) # lr = tfnn.train.exponential_decay(0.001, global_step, 2000, 0.9) optimizer = tfnn.train.AdamOptimizer(0.001) network.set_optimizer(optimizer, global_step) evaluator = tfnn.Evaluator(network) summarizer = tfnn.Summarizer(network, save_path='/tmp/log') for i in range(10000): b_xs, b_ys = t_data.next_batch(100, loop=True) network.run_step(b_xs, b_ys, 0.5) if i % 1000 == 0: print(evaluator.compute_cost(v_data.xs, v_data.ys)) summarizer.record_train(b_xs, b_ys, i, 0.5) summarizer.record_validate(v_data.xs, v_data.ys, i) network.save() evaluator.regression_plot_linear_comparison(v_data.xs, v_data.ys, continue_plot=True) network.sess.close() summarizer.web_visualize()
from tensorflow.examples.tutorials.mnist import input_data import tfnn # digits image data from 0 to 9 mnist = input_data.read_data_sets("MNIST_data/", one_hot=True) # define network properties network = tfnn.ClfNetwork(input_size=mnist.train.images.shape[1], output_size=mnist.train.labels.shape[1]) # add hidden layer network.add_hidden_layer(n_neurons=100, activator=tfnn.nn.relu) # add output layer network.add_output_layer(activator=None) # set optimizer. Default GradientDescent network.set_optimizer() # set evaluator for compute the accuracy, loss etc. evaluator = tfnn.Evaluator(network) # similar to sklearn, we have fit function network.fit(mnist.train.images, mnist.train.labels, steps=2000) # use evaluator to compute accuracy and loss print('accuracy: ', evaluator.compute_accuracy(xs=mnist.test.images, ys=mnist.test.labels))