def neural_network(dataset_train, dataset_test): # Prendere la colonna Target del dataset classiOutput = set() for esempio in dataset_train: classiOutput.add(esempio[len(esempio) - 1]) # Selezionare i Target senza duplicazione listaClassi = [] for c in classiOutput: listaClassi.append(c) # Costruzione dell topologie della Rete lng = len(dataset_train[0]) numeroInput = lng - 1 # Creo l'oggetto Network rete = Network(numeroInput, listaClassi, math.tanh) # Aggiunta degli strati rete.add_hidden_layer(4) # Lo strato di Out avrà 3 unità rete.add_output_layer() rete.train(dataset_train) # Classificazione giuste = 0 sbagliate = 0 lable_learning = list() for test in dataset_test: output_class = rete.classify(test[:len(test) - 1]) # Passaggio dell'input alla rete lable_learning.append(output_class) if output_class == test[len(test) - 1]: giuste += 1 else: sbagliate += 1 rete.close_report() return lable_learning
from NeuralNetwork import Network zero = [0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0] one = [0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0] two = [0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1] three = [1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1] exampleZero = [zero, [0, 0]] exampleOne = [one, [0, 1]] exampleTwo = [two, [1, 0]] exampleThree = [three, [1, 1]] examples = [exampleZero, exampleOne, exampleTwo, exampleThree] network = Network() network.addLayer(10, 20) network.addLayer(2, None) network.train(examples) print network.process(zero) print network.process(one) print network.process(two) print network.process(three)
from NeuralNetwork import Network nn = Network('lastmodel') nn.train(10000)
import mnist_loader from NeuralNetwork import Network training_data, validation_data, test_data = mnist_loader.load_data_wrapper() net = Network([784, 30, 10]) net.train(training_data, 30, 10, 3.0, test_data=test_data) net.save_configuration() print("Done")