пытаясь создать популяцию геномов - PullRequest
0 голосов
/ 16 апреля 2020

Я работал над реализацией генетического c алгоритма и сейчас пытаюсь использовать свою функцию инициализации популяции для создания популяции из 100 геномов. Но я продолжаю получать следующую ошибку

AttributeError: тип объекта 'genomes' не имеет атрибута 'initalize_population'

Пока у меня есть, по крайней мере, то, что я думаю, у меня есть есть назначенные геномы

class genomes:
    def __init__(self, genetics):
        genomes = self.genetics.inital()

и initialize_population функция

def initalize_population(input_node, output_nodes, activation):
    return genomes
    while genomes <= 100:
        genomes.append(genomes(input_node, output_nodes, activation))

, и вот строка, где мой код ломается

genomes.initalize_population(input_node, output_nodes, activation)

мой полный код здесь ...

import numpy as np
import os
import random

#activation functions
def softmax(x):

    return np.exp(x) / np.sum(np.exp(x), axis=0)

def relu(x):

    return max(0, x)

#configurations
input_node=(32, 32, 3)
input_nodes = 60000
hidden_nodes = 1
output_nodes = 10
edges = input_nodes * hidden_nodes + hidden_nodes * output_nodes
input_filter_size = (3, 3)
output_filter_size = (3, 3)
input_depth = 3
output_depth = 3
options = {'o': [(-2, -2), (-1, -1), (1, 1), (2, 2)]}
selected = random.choice(options['o'])
filter_size = (selected[0] + input_filter_size[0], selected[1] + input_filter_size[1])
num_nodes = random.randrange(1, 30000)
layers = num_nodes, filter_size
activation = softmax

#hyperparameters
b = 3
alpha = 0.001
momentum = 0.9
decay = 0.997
threshold_value = 1
MFP_rate = 0.25
LFP_rate = 0.15

class genomes:
    def __init__(self, genetics):
        genomes = self.genetics.inital()
        #return genomes

def initalize_population(input_node, output_nodes, activation):
    return genomes
    while genomes <= 100:
        genomes.append(genomes(input_node, output_nodes, activation))

genomes.initalize_population(input_node, output_nodes, activation)

любая помощь будет оценена, спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...