コード例 #1
0
def main():
    brain = NeuralNetwork(784, 3000, 10)
    brain.set_learning_rate(.001)
    counter = 0

    training_images_norm = normalize_images(training_images)
    testing_images_norm = normalize_images(testing_images)

    for image, label in zip(training_images_norm, training_labels):
        counter += 1
        print(
            f"Backward propogating the {counter} image, which was a {label} with array: {labels_dict[label]}."
        )
        brain.train_tanh(image.ravel(), labels_dict[label])
        #learning_rate_annealing_cyclic(brain, counter) #brain, iteration
        #print(f"Learning Rate: {brain.learning_rate}")
        if counter >= 1000:
            break

    correct = 0
    for i in range(len(testing_images_norm)):
        output = brain.feedforward_tanh(testing_images_norm[i].ravel())
        output = output.ravel()
        #print(testing_images[i].ravel())
        print(output)
        print(
            f"The letter was thought to be {output.argmax()} by the Neural network, but was actually {testing_labels[i]}."
        )
        if output.argmax() == testing_labels[i]:
            correct += 1
            print("IT WAS CORRECT!")
    print(correct / i)