我想在神经网络中使用 de ReLU 函数作为激活函数,但是由于我的输入是一个数组,它会引发错误。这是我定义函数的代码:
def relu(x):
if x<0:
x=0
else:
x=x
return x
我也希望得到一个数组作为输出。
我想在神经网络中使用 de ReLU 函数作为激活函数,但是由于我的输入是一个数组,它会引发错误。这是我定义函数的代码:
def relu(x):
if x<0:
x=0
else:
x=x
return x
我也希望得到一个数组作为输出。
您可以对输入层执行以下操作。
def relu(x):
if x > 0:
return x
else:
return 0
input_vals = [-1, 2, 3, 4, 5]
output = [relu(x) for x in input_vals]
print(output)
这里请注意,当您大于零时,您只需要获取该值,否则您只需要零。然后,您可以像上面一样为输入层中的所有输入应用 relu。
如果您将 NumPy 用于您的数组(您可能应该这样做),那么您可以按如下方式实现 ReLU:
import numpy as np
def relu(x):
return np.where(np.asarray(x) > 0, x, 0)
请注意,使用np.asarray(x)
而不是仅仅x
意味着您可以将“类似数组”的东西传递给relu()
函数以及 NumPy 数组。
这应该适用于任何维度的数组输入。