numpy.ndarray не является вызываемым - PullRequest
0 голосов
/ 10 ноября 2018
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 (), но он все еще не работает. Я пытался прочитать документацию и до сих пор не знаю, что нужно сделать. Кто-нибудь может дать мне несколько советов?

1 Ответ

0 голосов
/ 10 ноября 2018

проблема в s(1-s), в python использование () заключается в вызове функции (вызываемой). для мульти вы должны поставить туда *. измените строку кода на:

ds = s*(1-s)
...