Почему между model.forward (вход) и моделью (вход) различаются результаты

Этот ниже код удалит полный элемент объекта из массива, где номер телефона «+1786543589455»

db.collection.update(
  { _id: id },
  { $pull: { 'contact': { number: '+1786543589455' } } }
);
2
задан Umang Gupta 26 March 2019 в 01:53
поделиться

1 ответ

model.forward просто вызывает операции пересылки, как вы упомянули, но __call__ делает немного больше.

Если вы покопаетесь в коде класса класса nn.Module, вы увидите, что __call__ в конечном счете вызывает переадресацию, но внутренне обрабатывает перехватчики вперед или назад и управляет некоторыми состояниями, которые позволяет pytorch. При вызове простой модели, такой как просто MLP, она может и не понадобиться, но более сложные модели, такие как слои спектральной нормализации, имеют зацепки, и поэтому вам следует использовать сигнатуру model(.) как можно чаще, если вы явно не хотите вызывать model.forward [ 1110]

Также см. Вызов функции forward без .forward ()

В этом случае, однако, разница может быть из-за некоторого выпадающего слоя, вам следует вызвать vgg.eval() для убедитесь, что вся стохастичность в сети отключена, прежде чем сравнивать результаты.

0
ответ дан Umang Gupta 26 March 2019 в 01:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: