Python - Este codigo da un error que no consigo solucionarlo

 
Vista:

Este codigo da un error que no consigo solucionarlo

Publicado por Osvaldo (1 intervención) el 28/02/2023 23:09:56
import numpy as np
import scipy as sc
import matplotlib.pyplot as plt

from sklearn.datasets import make_circles

# CREAR DATASET: Se crean dos circulos concéntricos

n=500
p=2

X,Y=make_circles(n_samples=n,factor=0.5,noise=0.05)
plt.scatter(X[Y==0,0],X[Y==0,1],c='skyblue')
plt.scatter(X[Y==1,0],X[Y==1,1],c='salmon')
plt.axis('equal')
plt.show()

# CLASE DE LA CAPA DE LA RED
class neural_layer():
# n_conn (numero de conexiones),n_neur(número de neuronas),act_f(func de activación)
def __init__(self,n_conn,n_neur,act_f):
self.act_f=act_f
self.b=np.random(1,n_neur)*2-1
self.W=np.random.rand(n_conn,n_neur)*2-1

# FUNCIONES DE ACTIVACIÓN

#sigm= lambda x:1/(1+np.e**(-x)) # sigmoide

sigm=(lambda x:1/(1+np.e**(-x)),
lambda x:x*(1-x))

relu=lambda x:np.maximum(0,x) # max entre 0 y x


_x=np.linspace(-5,5,100)

plt.plot(_x,sigm[0](_x))

l0= neural_layer(p,4,sigm)
l1= neural_layer(4,8,sigm)

def create_nn(topology,act_f):

nn=[]

for l,layer in enumerate(topology[:-1]):
nn.append(neural_layer(topology[l],topology[l+1],act_f))
return nn

topology=[p,4,8,16,8,4,1]

create_nn(topology,sigm)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Francisco Javier
Val: 249
Ha aumentado su posición en 29 puestos en Python (en relación al último mes)
Gráfica de Python

Este codigo da un error que no consigo solucionarlo

Publicado por Francisco Javier (313 intervenciones) el 01/03/2023 02:03:56
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import numpy as np
import scipy as sc
import matplotlib.pyplot as plt
 
from sklearn.datasets import make_circles
 
# CREAR DATASET: Se crean dos circulos concéntricos
 
n=500
p=2
 
X,Y=make_circles(n_samples=n,factor=0.5,noise=0.05)
plt.scatter(X[Y==0,0],X[Y==0,1],c='skyblue')
plt.scatter(X[Y==1,0],X[Y==1,1],c='salmon')
plt.axis('equal')
plt.show()
 
# CLASE DE LA CAPA DE LA RED
class neural_layer():
# n_conn (numero de conexiones),n_neur(número de neuronas),act_f(func de activación)
    def __init__(self,n_conn,n_neur,act_f):
        self.act_f=act_f
        self.b=np.random(1,n_neur)*2-1
        self.W=np.random.rand(n_conn,n_neur)*2-1
 
# FUNCIONES DE ACTIVACIÓN
 
#sigm= lambda x:1/(1+np.e**(-x)) # sigmoide
 
sigm=(lambda x:1/(1+np.e**(-x)),
lambda x:x*(1-x))
 
relu=lambda x:np.maximum(0,x) # max entre 0 y x
 
 
_x=np.linspace(-5,5,100)
 
plt.plot(_x,sigm[0](_x))
 
l0= neural_layer(p,4,sigm)
l1= neural_layer(4,8,sigm)
 
def create_nn(topology,act_f):
    nn=[]
    for l,layer in enumerate(topology[:-1]):
        nn.append(neural_layer(topology[l],topology[l+1],act_f))
        return nn
 
topology=[p,4,8,16,8,4,1]
 
create_nn(topology,sigm)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar