Exemple #1
0
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))