示例#1
0
"""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)))
示例#2
0
from AI.Architecture.FFNN import FFLayerBrain
from Wrappers.DataModel import CData

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:")