def le_camada_entrada(self, nome_arquivo, quantas_entradas, ultimo_id_neuronio, learning_rate, momentum): with open(nome_arquivo, 'r') as arquivo_leitura_entrada: quantos_leu = 0 for linha in arquivo_leitura_entrada: linha_quebrada = linha.split(' ') for i in linha_quebrada[ 0]: # pega as ENTRADAS somente (desconsidera saída esperada AINDA) n = Neuronio( ultimo_id_neuronio, i, learning_rate, momentum) # passando peso -1 como teste apenas n.entradas = [float(i)] n.saida = float( i) # coloca entrada na saída para primeira camada self.neuronios.append(n) ultimo_id_neuronio += 1 quantos_leu += 1 if (quantos_leu == quantas_entradas): self.exibe_neuronios() break return ultimo_id_neuronio
camada_escondida = Camada(quantos_neuronios_camada_escondida) quantos_neuronios_camada_saida = settings.quantidade_neuronios_camada_saida camada_saida = CamadaSaida(quantos_neuronios_camada_saida) camada_saida.le_saida_esperada(nome_arquivo_leitura, 1, linha_arquivo_treino) # LEITURA DA CAMADA ESCONDIDA for indice_neuronio_escondido in range( quantos_neuronios_camada_escondida): neuronio_novo = Neuronio(settings.ultimo_id_neuronio, [], taxa_aprendizagem, settings.momentum) neuronio_novo.entradas = [ neuronio for neuronio in camada_entrada.neuronios ] neuronio_novo.pesos = [ camada_escondida.__gera_peso_aleatorio__() for neuronio in camada_entrada.neuronios ] camada_escondida.neuronios.append(neuronio_novo) settings.ultimo_id_neuronio += 1 # camada_escondida.neuronios.append(neuronio) # LEITURA DA CAMADA DE SAÍDA for _ in range(quantos_neuronios_camada_saida): neuronio_novo = Neuronio(settings.ultimo_id_neuronio, [], taxa_aprendizagem, settings.momentum) for neuronio in camada_escondida.neuronios: neuronio_novo.entradas.append(neuronio)