簡體   English   中英

numpy.ndarray不是可調用的

[英]numpy.ndarray is not a callable

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(),但仍然無法正常工作。 我一直在嘗試閱讀文檔,但對於需要做什么仍然一無所知。 有人可以給我一些指示嗎?

問題是s(1-s) ,在python中使用()是調用一個函數(一個可調用的)。 對於多,您應該在此處放置* 將您的代碼行更改為:

ds = s*(1-s)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM