Pytorch: квадратичное замедление на протяжении всей оптимизации - PullRequest
0 голосов
/ 09 мая 2019

Я использую PyTorch как универсальный инструмент для дифференцированного программирования для задачи оптимизации, над которой я работаю, не связанной с нейронными сетями.

Я заметил, что время выполнения по отношению к шагам является квадратичным: график времени

Я вычисляю свою функцию потерь в цикле и вызываю loss.backward (retain_graph = True) в каждой итерации.Профилирование кода показывает, что ~ 99% времени выполнения тратится в loss.backward ().

Квадратичное замедление означает линейное увеличение времени выполнения на каждом шаге, поэтому, возможно, Pytorch хранит весь сохраненный граф для каждого шага отдельно?

Любые мысли приветствуются.

Спасибо.

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