Пример #1
0
def run(network):
    running = True
    ui = uinput.UInput()
    while running:
        screen.fill((0, 0, 0))
        vals = network.activate(image_to_input(get_active_window(), screen))
        for (index, weight) in enumerate(vals):
            if weight > .47:
                #print("PUSHING: " + str(net_mapping[index]))
                ui.write(ecodes.EV_KEY, net_mapping[index], 1)
                #                if(net_mapping[index] == ecodes.KEY_LEFT or net_mapping[index] == ecodes.KEY_RIGHT):
                #                    ui.write(ecodes.EV_KEY, net_mapping[index], 0)
                ui.syn()

            else:
                #print("POPPING: " + str(net_mapping[index]))
                ui.write(ecodes.EV_KEY, net_mapping[index], 0)
                #ui.write(ecodes.EV_KEY, ecodes.KEY_ENTER, 0)
                ui.syn()

        #time.sleep(.1)
        #ui.write(ecodes.EV_KEY, ecodes.KEY_LEFT, 0)
        #ui.write(ecodes.EV_KEY, ecodes.KEY_RIGHT, 0)
        #ui.syn()

        pygame.display.flip()
Пример #2
0
def run(network):
    running = True
    ui = uinput.UInput()
    while running:
        screen.fill((0,0,0))
        vals = network.activate(image_to_input(get_active_window(),screen))
        for (index, weight) in enumerate(vals):
            if weight > .47:
                #print("PUSHING: " + str(net_mapping[index]))
                ui.write(ecodes.EV_KEY, net_mapping[index], 1)
#                if(net_mapping[index] == ecodes.KEY_LEFT or net_mapping[index] == ecodes.KEY_RIGHT):
#                    ui.write(ecodes.EV_KEY, net_mapping[index], 0)
                ui.syn()

            else:
                #print("POPPING: " + str(net_mapping[index]))
                ui.write(ecodes.EV_KEY, net_mapping[index], 0)
                #ui.write(ecodes.EV_KEY, ecodes.KEY_ENTER, 0)
                ui.syn()

        #time.sleep(.1)
        #ui.write(ecodes.EV_KEY, ecodes.KEY_LEFT, 0)
        #ui.write(ecodes.EV_KEY, ecodes.KEY_RIGHT, 0)
        #ui.syn()

        pygame.display.flip()
Пример #3
0
################################################################################
# Main
################################################################################

net = buildNetwork(network.input_nodes, hidden_nodes, network.output_nodes)
data_set = SupervisedDataSet(network.input_nodes, network.output_nodes)

print("Creating data set...")

for train_file in sys.argv[3:]:
    train_file = open(train_file,'r')
    training_data = json.load(train_file)
    train_file.close()
    for time in training_data:
        image_file, keys = training_data[time]
        input_values = network.image_to_input(Image.open(image_file), None)
        output_values = network.keys_to_output(keys)
        importance = 1
        if output_values[network.key_mapping[ecodes.KEY_LEFT]] or output_values[network.key_mapping[ecodes.KEY_RIGHT]]: 
            importance = 4
        #data_set.addSample(input_values, output_values, importance)
        for i in xrange(importance):
            data_set.addSample(input_values, output_values)

print("Training the network...")

min_delta = .0001
last_error = None
trainer = BackpropTrainer(net, data_set)
#trainer.trainUntilConvergence() # We want it to be verbose
for i in xrange(50):