创建将激活函数应用于数字列表的函数

时间:2019-11-17 09:16:59

标签: python numpy

我想创建一个方法,将列表或单个数字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]

3 个答案:

答案 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]