TensorFlow GPU比CPU更慢
CPU: i7-4710HQ
显卡:GTX850m
内存:8G
操作系统:Win10
装了 CUDA8.0,cuDNN6.0,tensorflow-gpu-1.4.0
配置了必要的PATH环境变量之外没做其它配置了。
用同样的TensorFlow代码跑同一个BPNN,用CPU只花了32秒完成,用GPU却执行了140+秒。
为什么我的TensorFlow加了GPU优化之后反而更慢了?
是不是我参数没配置好?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
第二天上网Google了一番,有的说是可能网络太小,效率瓶颈卡在了CPU与GPU数据传输上。
对此我做了一波实验,原来的BPNN只有双隐层,节点数分别是15,5,我把改成了4隐层,每层节点数都是2000之后,对单次训练进行了时间统计。
实验出来这时GPU单次训练只花了30~50 ms左右,而CPU的平均耗时是500ms,由此可以断定一个结论:
网络结构比较小的时候,效率瓶颈在CPU与GPU数据传输,这个时候只用cpu会更快。
网络结构比较庞大的时候,gpu的提速就比较明显了。