Как я могу исправить ValueError: не транслируемый выходной операнд с shape (2,1) не соответствует ошибке широковещательной формы (2,2)? - PullRequest
1 голос
/ 06 июля 2019

Я пытаюсь обучить нейронную сеть, но я застрял в этой точке, где я должен получить и (2,1) массив, но код продолжает приносить мне (2,2) массив.

Попытка транспонировать матрицу или сделать массив (1,) скалярным (v [0]) просто не сработало.

Это пример кода, с которым у меня возникают проблемы:

import numpy as np

a = np.array([[0.3],[-0.1]])
b = np.zeros(a.shape)
c=np.array([ 0.5249765])
d=np.array([ 0.4850045,   0.45512111])
y = np.array([ 0.4])
error = y - c 
f= error * c * (1 - c)

b+=f[0]*d.T

Результат, который я ожидал, был

b = [-0.0151157 -0.0141844] 

но я продолжаю получать

b = [[-0.0151157    -0.0141844]
[-0.0151157 -0.0141844]]

1 Ответ

0 голосов
/ 06 июля 2019

Используйте

b=f[0]*d.T

вместо этого, в противном случае вы передаете добавление массива (2,2) с массивом (2,)

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