"""Stands for Nicotiana Tabacum Geographic [Analysis]...""" import time from AI.Architecture.FFNN import FFLayerBrain from Wrappers.DataModel import RData start = time.time() RATE = 2 HIDDENS = (15, 8) REPEATS = 5000 ACTIVATION = "sigmoid" myData = RData("TestData/NTGeo/Data.csv", 0.2, 2, True, sep=";", end="\n") INPUTS, OUTPUTS = myData.neurons_required() LAYOUT = [INPUTS] + list(HIDDENS) + [OUTPUTS] fi = FFLayerBrain(rate=RATE, layout=LAYOUT) print("Brain born with layout:", fi.layout) for epoch in range(REPEATS): fi.learn(myData.table("learning")) if epoch % 100 == 0: print("Error @{}:".format(epoch), myData.test(fi), sep="\t") print("Learning done in {} seconds. Final Error: {}" .format(round(time.time() - start, 2), myData.test(fi)))
HIDDENS = (30,) RATE = 3 REPEATS = 1 BATCHSIZE = 10 start = time.time() myData = CData("TestData/MNIST/mnist.pkl.gz", cross_val=0.2, header=False) INPUTS, OUTPUTS = myData.neurons_required() LAYOUT = [INPUTS] + list(HIDDENS) + [OUTPUTS] archimedes = FFLayerBrain(RATE, layout=LAYOUT) for epoch in range(REPEATS): batches = myData.batchgen(BATCHSIZE) for index, batch in enumerate(batches): if index % 200 == 0: right = myData.test(archimedes, "testing") print(index * BATCHSIZE, right, sep="\t") archimedes.learn(batch) rrate = myData.test(archimedes) # Right-rate print("Test @{}:".format(epoch), rrate, sep="\t") print("Learning is done! Time required: {} seconds.".format(int(time.time() - start))) print("----------------------------------------------") print("Final test:") rrate = myData.test(archimedes) print("{}% right.".format(round(rrate * 100), 2))