Dav*_*Liu 6 gpu neural-network tensorflow
我无法使tensorflow有效地在我的系统上使用Nvidia GeForce GTX 1080 GPU.我将代码缩减为下面显示的非常简单的版本; 我只是循环执行应该使用GPU的session.run()操作,数据只被提取一次并在循环中重用,所以这段代码应该只使用GPU.
input_training_data=self.val_data[batch_size, :]
input_training_label=self.val_label[batch_size, :]
feed_dict = self.get_feed_dict(input_training_data, input_training_label)
for i in range(1000):
acc = sess.run(cost, feed_dict)
我注意到,对于batch_size = 16,我的GPU使用率大致稳定在8%左右,因为我将batch_size增加到32,最大GPU使用率增加到9-12%,但利用率大多保持在0%且不时它跃升至15%-25%并立即回落至0%.对于较大的batch_sizes,这种模式仍在继续,基本上任何大于16的批量大小都会增加最大利用率,但利用率大多保持在0,并且只会不时出现峰值.我在这里错过了什么?
我也遇到过同样的问题。我的问题是:我的计算部分在 GPU 和 CPU 上执行(因此两个设备之间存在大量通信,这导致 GPU 利用率较低)我在不同的线程中读到:
顺便说一句,关于您的代码的提示:您的会话(默认图形)将在每次迭代中增长,直到可能出现 OutOfMemory 异常... -> 我在每次 x 迭代时关闭会话,同时重置默认图形...
| 归档时间: |
|
| 查看次数: |
2264 次 |
| 最近记录: |