return (inputTrain, outputTrain, inputTest, outputTest) def run(dataset, arhitecture, learning_rate, eval_every, stop): input_size = dataset["train_imgs"][0].shape nn = FeedForward(input_size, arhitecture) print(nn.to_string()) return train_nn(nn, dataset, learning_rate, eval_every, stop) if __name__ == "__main__": parser = ArgumentParser() parser.add_argument("--learning_rate", type = float, default = 0.001, help="Learning rate") parser.add_argument("--eval_every", type = int, default = 2000, help="Learning rate") args = parser.parse_args() #dataset = load_mnist() dataset = load_cifrar() input_size = dataset["train_imgs"][0].shape nn = FeedForward(input_size, [(CONV, (6, 28, 28), 5, 1), (RELU, -1), (MAX_POOLING, (6, 14, 14)), (CONV, (16, 10, 10), 5, 1), (RELU, -1), (MAX_POOLING, (16, 5, 5)), (LINEARIZE, -1), (FULLY_CONNECTED, 120), (FULLY_CONNECTED, 84), (FULLY_CONNECTED, 10) ,(SOFTMAX, -1)]) #nn = FeedForward(input_size, [(LINEARIZE, -1), (FULLY_CONNECTED, 300), (TANH, -1), (FULLY_CONNECTED, 100), (TANH, -1), (FULLY_CONNECTED, 10), (SOFTMAX, -1)]) print(nn.to_string()) train_nn(nn, dataset, args.learning_rate, args.eval_every, 10000)
def run(dataset, arhitecture, learning_rate, eval_every, stop): input_size = dataset["train_imgs"][0].shape nn = FeedForward(input_size, arhitecture) print(nn.to_string()) return train_nn(nn, dataset, learning_rate, eval_every, stop)
nn.update_parameters(args.learning_rate) # Evaluate the network if cnt % args.eval_every == 0: test_acc, test_cm = \ eval_nn(nn, data["test_imgs"], data["test_labels"]) train_acc, train_cm = \ eval_nn(nn, data["train_imgs"], data["train_labels"], 5000) print("Train acc: %2.6f ; Test acc: %2.6f" % (train_acc, test_acc)) pylab.imshow(test_cm) pylab.draw() matplotlib.pyplot.pause(0.001) if __name__ == "__main__": parser = ArgumentParser() parser.add_argument("--learning_rate", type = float, default = 0.001, help="Learning rate") parser.add_argument("--eval_every", type = int, default = 200, help="Learning rate") args = parser.parse_args() mnist = load_mnist() input_size = mnist["train_imgs"][0].size print input_size nn = FeedForward(input_size, [(300, logistic), (10, identity)]) print(nn.to_string()) train_nn(nn, mnist, args)