def sigmoid(x):
s = 1/(1+np.exp(-x))
return s
def sigmoid_derivative(x):
#Arguments: x is A scalar or numpy array
s = sigmoid(x)
ds = s(1-s)
return ds
x = np.array([1, 2, 3])
print ("sigmoid_derivative(x) = " + str(sigmoid_derivative(x)))
我收到此错误:
TypeError : Traceback (most recent call
last)
<ipython-input-66-2715e4ef84dc> in <module>()
1 x = np.array([1, 2, 3])
----> 2 print ("sigmoid_derivative(x) = " + str(sigmoid_derivative(x)))
<ipython-input-65-177c1f00eabb> in sigmoid_derivative(x)
16 s = sigmoid(x)
---> 17 ds = s(1-s)
TypeError: 'numpy.ndarray' object is not callable
我不明白我在哪里出错了。我尝试将其更改为np.exp(),但仍然无法正常工作。我一直在尝试阅读文档,但对于需要做什么仍然一无所知。有人可以给我一些指示吗?
答案 0 :(得分:2)
问题是s(1-s)
,在python中使用()
是要调用一个函数(可调用)。
如果是多重,则应将*
放在此处。将您的代码行更改为:
ds = s*(1-s)