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()
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()
################################################################################ # 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):