CS231n, задание 2: TwoLaye rNet и Солвер - PullRequest
0 голосов
/ 01 мая 2020

У меня появляется сообщение об ошибке при попытке выполнить solver.train.

Я закончил редактирование f c_net, включая инициализацию, прямую передачу, потерю и обратное распространение. Когда я выполнил код FullyConnectedNets, который предназначался для сравнения их решения с моим, все прошло нормально (мои аналитические c градиенты, идентичные цифрам c, те же потери и т. Д. c.) Также одинаковы (в остальном) сравнение не сработало).

Тем не менее, когда я пытаюсь запустить решатель, я сталкиваюсь с сообщением об ошибке. В частности, я выполняю следующие строки:

model = TwoLayerNet()

solver = Solver(model, data,

update_rule='sgd',

optim_config={

'learning_rate': 1e-3,

},

lr_decay=0.95,

num_epochs=10, batch_size=100,

print_every=100)

solver.train()

И сообщение об ошибке, которое я получаю первоначально, приходит от optim.py и говорит:

41 config.setdefault('learning_rate', 1e-2)

42

---> 43 w -= config['learning_rate'] * dw

44 return w, config

45 ValueError: non-broadcastable output operand with shape (100,1) doesn't match the broadcast shape (100,100)

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

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