1

我想在神经网络中使用 de ReLU 函数作为激活函数,但是由于我的输入是一个数组,它会引发错误。这是我定义函数的代码:

def relu(x):
    if x<0:
       x=0
    else:
       x=x
    return x

我也希望得到一个数组作为输出。

4

2 回答 2

0

您可以对输入层执行以下操作。

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。

于 2021-09-28T19:16:34.987 回答
0

如果您将 NumPy 用于您的数组(您可能应该这样做),那么您可以按如下方式实现 ReLU:

import numpy as np

def relu(x):
    return np.where(np.asarray(x) > 0, x, 0)

请注意,使用np.asarray(x)而不是仅仅x意味着您可以将“类似数组”的东西传递给relu()函数以及 NumPy 数组。

这应该适用于任何维度的数组输入。

于 2021-09-28T19:30:39.860 回答