def FoN(inputs, outputs): seed(tmpObject.i) tmpObject.i = tmpObject.i + 1 m = MultilayerPerceptron(inputs, nbHidden, outputs, learning_rate=lrate, momentum=momentum, grid=mode) m.init_weights_randomly(-1, 1) tmpObject.net = m return m
def SoN(inputs, outputs): n = MultilayerPerceptron(nbHidden, 20, 2, learning_rate=0.15, momentum=0.5, grid=mode) n.init_weights_randomly(-1, 1) return n
else: return (False, random() < 0.3) if __name__ == '__main__': plt.title("low") grid = MultilayerPerceptron.R0to1 nbr_network = 30 nbr_epoch = 200 nbr_trial = 10 first_order = [] high_order = [] for _ in range(nbr_network): fo = MultilayerPerceptron(5, 40, 4, grid, 0.002, 0., 1., False, True) fo.init_weights_randomly(-1, 1) first_order.append(fo) #0.0003 or 0.015 ho = MultilayerPerceptron(40, 40, 2, grid, 0.0003, 0., 1., False, True) ho.init_weights_randomly(-1, 1) high_order.append(ho) #trials wins = [] wagers = [] last_output = [ [0 for _ in range(5)] for _ in range(nbr_network)] for epoch in range(nbr_epoch): nbr_win = 0
for i in range(8): res.append(index_max(pat[i * 6:i * 6 + 6])) return res if __name__ == '__main__': ptrain_pattern = [random_pattern() for _ in range(80)] # print(ptrain_pattern[0][0]) # print(pattern_to_list(ptrain_pattern[0][0])) # exit() first_order = MultilayerPerceptron(48, 40, 48, 0, 0.4, 0.5, 1., False, True) first_order.init_weights_randomly(-1, 1) high_order = [ PerceptronR0to1(48, 0.4, 0.5, 1., Perceptron.OUTPUT, False, True) for _ in range(2) ] # high_order = [PerceptronN0to1(48, 0.4, 0.5, False) for _ in range(2)] high_order[0].init_weights_randomly(0., 0.1) high_order[1].init_weights_randomly(0., 0.1) print("pre-training") err = 0. the = 0. rms = [] rms2 = []
return (False, random() < 0.2) if __name__ == '__main__': grid = MultilayerPerceptron.R0to1 nbr_network = 50 nbr_epoch = 200 nbr_trial = 10 displays = range(nbr_epoch)[::5] first_order = [] high_order = [] for _ in range(nbr_network): fo = MultilayerPerceptron(5, 40, 4, grid, 0.002, 0., 1., False, True) fo.init_weights_randomly(-1, 1) first_order.append(fo) #0.0003 or 0.015 ho = MultilayerPerceptron(40, 40, 2, grid, 0.015, 0., 1., False, True) ho.init_weights_randomly(-1, 1) high_order.append(ho) #trials wins = [] wagers = [] last_output = [[0 for _ in range(5)] for _ in range(nbr_network)] for epoch in range(nbr_epoch): nbr_win = 0 nbr_gwager = 0
if __name__ == '__main__': mode = MultilayerPerceptron.R0to1 nbr_network = 5 momentum = 0.5 nbEpoch = 201 nbTry = 50 display_interval = range(nbEpoch)[3::5] #create all networks networks = [{} for _ in range(nbr_network)] for i in range(nbr_network): seed(i) first_order = MultilayerPerceptron(16 * 16, 100, 10, learning_rate=0.15, momentum=momentum, grid=mode) first_order.init_weights_randomly(-1, 1) high_order_h = PRenforcement(100, temperature=1.) networks[i] = {'first_order' : first_order, 'high_order_h' : high_order_h} #create example examples = DataFile("digit_handwritten_16.txt", mode) #3 curves y_plot = {'first_order' : [] , 'high_order_h' : [], 'high_order_l': []} y_perfo = {'first_order' : [] , 'high_order_h' : [],
nbTry = 50 display_interval = range(nbEpoch)[3::5] seed(100) #create all networks networks = [{} for _ in range(nbr_network)] for i in range(nbr_network): seed(i) control = MultilayerPerceptron(16 * 16, 100, 10, learning_rate=0.15, momentum=momentum, grid=mode) control.init_weights_randomly(-1, 1) high_order_h = MultilayerPerceptron(100, 20, 2, learning_rate=0.1, momentum=0., grid=mode) first_order = AdHock(control) networks[i] = { 'first_order': first_order, 'high_order_h': high_order_h, 'control': control }
mode = MultilayerPerceptron.R0to1 nbr_network = 5 momentum = 0.5 nbEpoch = 201 nbTry = 50 display_interval = range(nbEpoch)[3::5] #create all networks networks = [{} for _ in range(nbr_network)] for i in range(nbr_network): seed(i) control = MultilayerPerceptron(16 * 16, 100, 10, learning_rate=0.15, momentum=momentum, grid=mode, temperature=1, random=False, enable_bias=True) control.init_weights_randomly(-1, 1) first_order = AdHock(control) networks[i] = {'first_order' : first_order, 'control': control} #create example examples = DataFile("digit_handwritten_16.txt", mode) #3 curves y_perfo = {'first_order' : [] , 'high_order_h' : [], 'wager_proportion': [], 'feedback' : [], 'control': [],