Действительно разочаровывающая ошибка Python / Numpy. "не удалось передать входной массив из shape (6) в shape (1)" - PullRequest
0 голосов
/ 06 ноября 2018

ValueError

Traceback (most recent call last)
<ipython-input-129-810db8fa03c3> in <module>()
     20     # TODO:<your code here>
     21 
---> 22     w=np.subtract(w,(compute_grad(X_expanded[ind, :], y, w)))
     23 
     24 
shape = (6, 1)
weight_gradients = np.empty(shape,)

for k in range(len(w)):
    sum_gradient = 0
    #print(sum_gradient)
    for i in range (len(X)):
        linear_model_output=X[i,0]*w[0]+X[i,1]*w[1]+X[i,2]*w[2]+X[i,3]*w[3]+X[i,4]*w[4]+X[i,5]*w[5]
        exp_lmo = np.exp(linear_model_output)
        y_i=y[i]
        add_to_grad = -X[i][k]*1*(y_i*exp_lmo-exp_lmo+y_i)/(exp_lmo+1) 
        sum_gradient = sum_gradient + add_to_grad

    sum_gradient = sum_gradient/len(y)

    weight_gradients[k] = sum_gradient  ############ERROR LINE

на weight_gradients[k] = sum_gradient Я получаю ошибку.

Я предполагаю, что это из-за удручающе глупого недостатка знания языка. К сожалению, я ранее использовал такой же код в своей программе, и он не выдает ошибку, на самом деле просто запутывает меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...