import numpy as np
def relu(z):
return np.maximum(0,z)
def d_relu(z):
z[z>0]=1
z[z<=0]=0
return z
x=np.array([5,1,-4,0])
y=relu(x)
z=d_relu(y)
print("y = {}".format(y))
print("z = {}".format(z))
Приведенный выше код выводит:
y = [1 1 0 0]
z = [1 1 0 0]
вместо
y = [5 1 0 0]
z = [1 1 0 0]
Насколько я понимаю, вызовы функций, которые я использовал, должны выполнять передачу только по значению, передавая копию переменной.
Почему моя функция d_relu влияет на переменную y?