我想创建一个方法,将列表或单个数字x作为输入,并输出在其上应用RELU函数的结果。例如,
给定一个数组a=[-1,2,3,-0.4,22,12,-0.6,22,3]
,我想在该数组上应用RELU函数以获得[0,2,3,0,22,12,0,22.3]
。这是我尝试的:[if x>=0 then x else 0 for x in a]
。但这没有用。但是我能够得到一个布尔值列表,指定哪些条目为正,哪些条目为负,如下所示:[float(x>=0) : x in a]
答案 0 :(得分:1)
您可以通过创建自己的函数来执行以下操作:
import numpy as np
def relu(a):
return np.maximum(0, a)
a=[-1,2,3,-0.4,22,12,-0.6,22,3]
return_a = relu(a)
print(return_a)
结果进入
[ 0. 2. 3. 0. 22. 12. 0. 22. 3.]
答案 1 :(得分:1)
这两个命令都不是有效的python,但是您与第一个命令很接近。这就是所谓的列表理解,其语法就是这样
[x if x>0 else 0 for x in a]
哪个给
[0, 2, 3, 0, 22, 12, 0, 22, 3]
答案 2 :(得分:1)
[if x>=0 then x else 0 for x in a]
是无效的Python语法。使用
[x if x > 0 else 0 for x in a]
[float(x>=0) : x in a]
都不是。 :
在Java循环中,在Python中是
[float(x >= 0) for x in a]