Example #1
0
 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
Example #2
0
 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
Example #3
0
    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
Example #4
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 = []
Example #5
0
 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
Example #6
0
        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' : [],
Example #8
0
    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
        }
Example #9
0
    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': [],