Python:将函数exp应用于numpy数组的每个元素

时间:2016-04-26 08:32:54

标签: python numpy matrix

v = np.random.normal(0, 0.01, (200, 785))
x is 60000 by 785


for ele in x:

    a = np.dot(v, ele.T)

    h = tanh(a)





def tanh(value):
   value = np.clip(value, -20, 20)
   return 2*sigmoid(2*value) -1

def sigmoid(value):
   return 1.0/(1+math.exp(-value))

我收到错误,"只有长度为1的数组才能转换为Python标量 ",说我不能像那样应用sigmoid,就像元素一样。

基本上,问题是:a是200比1,我想做tanh(a)。 另外,我不太明白为什么我允许应用更简单的函数,如+1元素,但不是sigmoid,这涉及exp。

1 个答案:

答案 0 :(得分:2)

您需要使用np.exp代替math.exp。后者不支持NumPy阵列。