我想将多维数组传递给 relu prime
函数
def reluprime(x):
if x > 0:
return 1
else:
return 0
... 其中 x
是整个数组。它返回
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
我在使用普通的 relu
函数时遇到了这个问题,我没有使用 python 函数 max()
,而是使用了 np.max()
并且成功了。但是对于 relu 素数,它无论哪种方式都不起作用。我试过:
def reluprime(x):
if np.greater(x, 0):
return 1
else:
return 0
... 它仍然返回相同的错误。我怎样才能解决这个问题?谢谢。
最佳答案
由于如果向量中的条目大于 0 则 relu prime 返回 1,否则返回 0,您可以这样做:
def reluprime(x):
return (x>0).astype(x.dtype)
在上面的代码中,输入数组 x
被假定为一个 numpy 数组。
例如,reluprime(np.array([-1,1,2]))
返回 array([0, 1, 1])
。
关于python - 带有 NumPy 数组的 ReLU Prime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45021963/