#machine-learning #pytorch #artificial-intelligence #gradient-descent #inference
Вопрос:
PyTorch имеет новую функциональность torch.inference_mode
с версии 1.1, которая «аналогична torch.no_grad
… Код, выполняемый в этом режиме, повышает производительность за счет отключения отслеживания просмотров и сбоев счетчика версий».
Если я просто оцениваю свою модель во время тестирования (т. Е. Не тренируюсь), есть ли какая-либо ситуация, в которой torch.no_grad
это предпочтительнее torch.inference_mode
? Я планирую заменить каждый экземпляр первого последним, и я рассчитываю использовать ошибки времени выполнения в качестве ограждения (т. Е. Я верю, что любая проблема проявит себя как ошибка времени выполнения, и если она не проявится как ошибка времени выполнения, то я предполагаю, что ее действительно предпочтительнее использовать torch.inference_mode
).
Более подробная информация о том, почему был разработан режим вывода, упоминается в подкасте разработчика PyTorch.
Ответ №1:
Да, torch.inference_mode
действительно предпочтительнее torch.no_grad
во всех ситуациях, когда режим вывода не выдает ошибку во время выполнения.