Home › Fóruns › Fórum Redes Neurais Artificiais em Python › Erro ao executar o Perceptron de Uma Camada
- Este tópico contém 1 resposta, 2 vozes e foi atualizado pela última vez 1 ano, 5 meses atrás por Fábio Spak.
- AutorPosts
- 12 de junho de 2023 às 11:37 #40821
Olá
Executei o código abaixo, disponibilizado pelo professor na página do curso para um perceptron de uma camada e resultou em um loop infinito:
# -*- coding: utf-8 -*-
“””
Created on Mon Sep 18 15:31:36 2017@author: Jones
“””
import numpy as np#entradas = np.array([[0,0],[0,1], [1,0], [1,1]])
#saidas = np.array([0,0,0,1])
#entradas = np.array([[0,0],[0,1], [1,0], [1,1]])
#saidas = np.array([0,1,1,1])entradas = np.array([[0,0],[0,1], [1,0], [1,1]])
saidas = np.array([0,1,1,0])
pesos = np.array([0.0, 0.0])
taxaAprendizagem = 0.1def stepFunction(soma):
if (soma >= 1):
return 1
return 0def calculaSaida(registro):
s = registro.dot(pesos)
return stepFunction(s)def treinar():
erroTotal = 1
while (erroTotal != 0):
erroTotal = 0
for i in range(len(saidas)):
saidaCalculada = calculaSaida(np.asarray(entradas[i]))
erro = saidas[i] – saidaCalculada
erroTotal += erro
for j in range(len(pesos)):
pesos[j] = pesos[j] + (taxaAprendizagem * entradas[i][j] * erro)
print(‘Peso atualizado: ‘ + str(pesos[j]))
print(‘Total de erros: ‘ + str(erroTotal))treinar()
print(‘Rede neural treinada’)
print(calculaSaida(entradas[0]))
print(calculaSaida(entradas[1]))
print(calculaSaida(entradas[2]))
print(calculaSaida(entradas[3]))23 de junho de 2023 às 09:57 #40880Olá João, consegue postar um print do erro? Da forma como apareceu na sua pergunta não considera a indentação do código.
Fabio
- AutorPosts
- Você deve fazer login para responder a este tópico.