Зачем в функции predict_tags() мы делаем вызов torch.no_grad()?

  • для автоматического подбора оптимального размера батча
  • для деактивации autograd (без вычисления градиентов будет использоваться меньше памяти и скорость работы увеличится)
  • для перевода модели в режим eval (например, чтобы Dropout или BatchNorm слои работали в режиме eval)
  • для того, чтобы можно было делать backprop не только во время обучения сети, но и на этапе предсказания тегов

К сожалению, у нас пока нет статистики ответов на данный вопрос, но мы работаем над этим.