CNTK - обновление веса составляет 90% медленного тренировочного времени - PullRequest
0 голосов
/ 30 декабря 2018

При профилировании CNTK для обучения варианту Alexnet были получены следующие результаты:

Description................ ............Mean ..........StdDev .............Min .............Max ...........Count ...........Total

Main Thread

_Minibatch Iteration      :      4379.453 ms       401.522 ms      3984.586 ms      7079.859 ms               64     00:04:40.285
__Forward + Backward      :       467.035 ms       375.025 ms       407.861 ms      3443.404 ms               64     29890.221 ms
__Weight Update           :      3912.241 ms       214.278 ms      3570.211 ms      4104.718 ms               64     00:04:10.383

Data Reader

Обновление веса составляет большую часть тренировочного времени при использовании SGD и Momentum SGD:

learner = momentum_sgd(ot.parameters, 0.015,0.9,gaussian_noise_injection_std_dev=0.0000001)

1 Ответ

0 голосов
/ 30 декабря 2018

Проблема заключается в использовании инжекции гауссовского шума, это ставит узкое место на GPU, ожидая, пока CPU предоставит необходимые случайные значения.Удаление параметра решает это:

learner = momentum_sgd(ot.parameters, 0.015,0.9)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...