def trainOR(): Network0 = NeuralNetwork(sturcture=[2, 3, 1], learningRate=0.5) for i in range(1000): Network0.train([0, 0], [0]) Network0.train([0, 1], [1]) Network0.train([1, 0], [1]) Network0.train([1, 1], [1]) print(i, "", round((1 - Network.costFunction) * 100, 0)) pass print(round((1 - Network0.costFunction) * 100, 2)) Network0.answer([0, 0]) print(Network0.neurons[2][0].getOutput()) pass
def trainXOR(): print("\ntrain XOR") sturcture = [2, 3, 1] Network0 = NeuralNetwork(sturcture=sturcture, learningRate=1) for i in range(10000): Network0.train([0, 0], [0]) Network0.train([0, 1], [1]) Network0.train([1, 0], [1]) Network0.train([1, 1], [0]) #print(i,"",round((1-Network0.costFunction)*100, 0)) print(i, "", round(abs(Network0.neurons[len(sturcture) - 1][0].a - 0), 3)) print(Network0.answer([0, 0])) print(Network0.answer([1, 0])) print(Network0.answer([0, 1])) print(Network0.answer([1, 1])) pass