'target': [0] }] def drawPrediction(): resolution = 10 cols = rows = int(side / resolution) for i in range(cols): for j in range(rows): x1 = i / cols x2 = j / rows color = int(brain.predict([x1, x2])[0][0] * 255) rect = pygame.draw.rect( screen, (color, color, color), (i * resolution, j * resolution, resolution, resolution)) pygame.display.flip() while running: event = pygame.event.poll() if event.type == pygame.QUIT: brain.saveState('XOR.state.json') running = 0 if event.type == pygame.MOUSEBUTTONDOWN and event.button == 1: brain = NeuralNetwork(2, 4, 1) for _ in range(1000): data = np.random.choice(training_data) brain.train(data['input'], data['target']) drawPrediction()
import pandas import numpy from NN import NeuralNetwork numbers = pandas.read_csv('processed_train.csv') #print(numbers.iloc[:,1:]) brain = NeuralNetwork(784, 100, 10, 0.3) total = numbers.shape[0] for index, row in numbers.iterrows(): target = row[1] inputs = row[2:] targets = numpy.zeros(10) + 0.01 targets[int(target)] = 0.99 brain.train(inputs, targets) print(str(index) + '/' + str(total)) brain.saveState('digit-recognizer.state.json')