【发布时间】:2018-12-16 13:37:42
【问题描述】:
自己解决了这个问题。这是因为 celeba 数据集中的图像太多,而我的数据加载器效率很低。数据加载耗时过长,导致速度低。
但是,这仍然无法解释为什么代码在 cpu 上运行而 gpu 内存也被占用。毕竟我只是转移到pytorch。
我的环境:windows10、cuda 9.0、cudnn 7.0.5、tensorflow-gpu 1.8.0。
我正在制作一个自行车模型。起初,它在我的玩具数据集上运行良好,并且可以在 gpu 上运行而没有主要问题(尽管前 10 次迭代花费了非常长的时间,这意味着它可能在 cpu 上运行)。
后来我尝试了celeba数据集,只是更改了文件夹名称来加载数据(我一次将数据全部加载到内存中,然后使用我自己的next_batch函数和feed_dict来训练模型)。那么问题就来了:GPU显存还是按照GPU-Z占用的,但是GPU-load低(不到10%),训练速度很慢(比平时占用了10倍以上),也就是说代码在 CPU 上运行。
有人能给我一些建议吗?任何帮助表示赞赏,谢谢。
【问题讨论】:
标签: tensorflow machine-learning deep-learning computer-vision gpu