CNTK-体重更新构成慢训练时间的90%

时间:2018-12-30 12:52:15

标签: python performance machine-learning gpu cntk

对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 :(得分:1)

问题是使用高斯噪声注入,这通过等待CPU提供所需的随机值而使GPU瓶颈。删除参数可以解决此问题:

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