oscoidi / Perceptron

Perceptron diseñado con la idea de asimilar los conceptos escondidos detras del algoritmo backpropagation.
33 stars 25 forks source link

Ayuda con ester error #4

Open Juan356826 opened 4 years ago

Juan356826 commented 4 years ago

Primero agradecerte por el programa para iniciar con el aprendizaje de las redes neurales en Python. El error que obtengo es evidentemente es de principiante, he intentado solucionarlo y nada que puedo.

Es con respecto al cambio de las url o direcciones en donde tengo guardado los archivos en mi pc. copio la dirección directamente del navegador de Windows ("copiar ruta de acceso"), es esta:

"D:\Rest\Juan\Oráculo de Delfos\Redes Neurales\Perceptron\algoritmo backpropagation\Perceptron-master\perceptron.py"

La cambio al editar tu programa en las líneas 19 y 20 en donde dice que se debe cambiar las url:

self.saveurl = self.cwd + "D:\Rest\Juan\Oráculo de Delfos\Redes Neurales\Perceptron\algoritmo backpropagation\Perceptron-master\perceptron.txt" #url donde guardaremos la red neuronal una vez entrenada

self.trainingdata = self.cwd + "D:\Rest\Juan\Oráculo de Delfos\Redes Neurales\Perceptron\algoritmo backpropagation\Perceptron-master\entrenamientoperc.txt" #url donde tenemos la training data

Y me sale en siguiente erros:

Traceback (most recent call last): File "D:\Rest\Juan\Oráculo de Delfos\Redes Neurales\Perceptron\algoritmo backpropagation\Perceptron-master\perceptron.py", line 143, in Perceptron() File "D:\Rest\Juan\Oráculo de Delfos\Redes Neurales\Perceptron\algoritmo backpropagation\Perceptron-master\perceptron.py", line 21, in init self.build() #construimos la red neuronal File "D:\Rest\Juan\Oráculo de Delfos\Redes Neurales\Perceptron\algoritmo backpropagation\Perceptron-master\perceptron.py", line 30, in build for i in range(input('numero de capas: ')): TypeError: 'str' object cannot be interpreted as an integer

Gracias por la ayuda.

oscoidi commented 4 years ago

Buenas Juan, yo si que era un principiante cuando escribí este programa así que puede que los fallos que aparezcan sean culpa mía. Por lo que veo el error no esta en como has copiado los urls, eso esta bien. El problema parece que te salta al introducir el número de capas, no? El error es porque al introducir por consola el número de capas lo interpreta como text (str) y no como un número y por eso no puede iniciar el bucle.

Se soluciona cambiando esto: for i in range(input('numero de capas: ')): por esto otro: for i in range(int(input('numero de capas: '))):

También hay que cambiarlo en la linea 35, quedando así: capa.append(int(input('numero de neuronas en la capa ' + str(i) + ' : ')))#anadimos el numero de neuronas de la capa

Ya he cambiado el código, gracias por mostrarme el error. Un saludo.

Juan356826 commented 4 years ago

Buenas Iñigo, cambie las líneas, el programa avanza mas, pero ahora sale estos errores...

PERCEPTRON numero de capas: 2 numero de neuronas en la capa 0 : 2 numero de neuronas en la capa 1 : 2 -+-Comienza el entrenamiento del perceptron-+- numero de veces que quiere repetir el entrenamiento: 2 Traceback (most recent call last): File "C:\Users\Juan\Documents\per\perceptron.py", line 143, in Perceptron() File "C:\Users\Juan\Documents\per\perceptron.py", line 22, in init self.train() #entrenamos la red neuronal File "C:\Users\Juan\Documents\per\perceptron.py", line 66, in train self.readlines() File "C:\Users\Juan\Documents\per\perceptron.py", line 70, in readlines entrenamiento = open(self.trainingdata,'r') #abrimos el archivo FileNotFoundError: [Errno 2] No such file or directory: 'C:\Users\Juan\Documents\perDocuments/per/entrenamientoperc.txt'

oscoidi commented 4 years ago

Vale, ahora si que te esta dando error el Url. Estas con windows no? Esque esta pensado para linux, pero no pasa nada. Prueba a ponerlo así(sin self.cwd ): self.trainingdata = "D:\Rest\Juan\Oráculo de Delfos\Redes Neurales\Perceptron\algoritmo backpropagation\Perceptron-master\entrenamientoperc.txt" #url donde tenemos la training data

El problema es que linux genera los Urls con estas barras: "/" y windows con estas: "\"

Espero que consigas que funcione, hasta entonces aquí me tienes para lo que sea.

Juan356826 commented 4 years ago

Estoy en Windows 10 x 64 bit.. sigue generando error.. te adjunto los archivos con las corrección que he realiado..

PERCEPTRON numero de capas: 2 numero de neuronas en la capa 0 : 2 numero de neuronas en la capa 1 : 2 -+-Comienza el entrenamiento del perceptron-+- numero de veces que quiere repetir el entrenamiento: 2 Traceback (most recent call last): File "D:\Rest\Juan\Oráculo de Delfos\Redes Neurales\Perceptron\algoritmo backpropagation\Perceptron-master\perceptron.py", line 143, in Perceptron() File "D:\Rest\Juan\Oráculo de Delfos\Redes Neurales\Perceptron\algoritmo backpropagation\Perceptron-master\perceptron.py", line 22, in init self.train() #entrenamos la red neuronal File "D:\Rest\Juan\Oráculo de Delfos\Redes Neurales\Perceptron\algoritmo backpropagation\Perceptron-master\perceptron.py", line 66, in train self.readlines() File "D:\Rest\Juan\Oráculo de Delfos\Redes Neurales\Perceptron\algoritmo backpropagation\Perceptron-master\perceptron.py", line 70, in readlines entrenamiento = open(self.trainingdata,'r') #abrimos el archivo OSError: [Errno 22] Invalid argument: 'D:\Rest\Juan\Oráculo de Delfos\Redes Neurales\Perceptron\x07lgoritmo backpropagation\Perceptron-master\entrenamientoperc.txt'

https://mega.nz/file/eERSxa6D#kkbjBhfQuhOz8I7962hsFhniXalmasqhkhLUsAGSuvA