示例#1
0
文件: ga_rnn.py 项目: kelvict/rnn-py
    ga = Genetic_Algorithm(individuals = 1000, 
                           mutation_rate = 0.1,
                           # (4 caracteristicas + 1 do bias) * 2 neuronios = 10
                           # (2 saidas de neuronio + 1 do bias) * 3 neuronios de saida = 9
                           # total de pesos 10+9 = 19
                           genotype = 19, 
                           fenotype = fenotype, 
                           genotype_type = Genetic_Algorithm.TYPE_FLOAT)
    
#     ga.print_individuals()
    ga.execute(generations = 100, log=True)
#     ga.print_individuals()
    print "Best Individual for all generations", ga.get_best_individual().get_genotype(), ga.get_best_individual_fenotype()
    
    genotype = ga.get_best_individual().get_genotype()
        
    pos = 0
    
    for i, layer in enumerate(mlp.get_layers()):
        for j, neuron in enumerate(layer.get_neurons()):
            
            end_neuron_position = pos + len(neuron.get_weights())
            
            neuron.get_weights()[:] = genotype[pos: end_neuron_position]
                                                    
            neuron.set_bias(genotype[end_neuron_position])
            
            pos = end_neuron_position + 1
            
    mlp.get_weights('pesos_ga_iris.mlp')
    
示例#2
0
        mutation_rate=0.1,
        # (4 caracteristicas + 1 do bias) * 2 neuronios = 10
        # (2 saidas de neuronio + 1 do bias) * 3 neuronios de saida = 9
        # total de pesos 10+9 = 19
        genotype=19,
        fenotype=fenotype,
        genotype_type=Genetic_Algorithm.TYPE_FLOAT)

    #     ga.print_individuals()
    ga.execute(generations=100, log=True)
    #     ga.print_individuals()
    print "Best Individual for all generations", ga.get_best_individual(
    ).get_genotype(), ga.get_best_individual_fenotype()

    genotype = ga.get_best_individual().get_genotype()

    pos = 0

    for i, layer in enumerate(mlp.get_layers()):
        for j, neuron in enumerate(layer.get_neurons()):

            end_neuron_position = pos + len(neuron.get_weights())

            neuron.get_weights()[:] = genotype[pos:end_neuron_position]

            neuron.set_bias(genotype[end_neuron_position])

            pos = end_neuron_position + 1

    mlp.get_weights('pesos_ga_iris.mlp')