如何在tensorflow计算中使显卡满载

环境:python 3.6、win10、tensorflow1.8
硬件:GTX1080Ti、E5-2680V2
问题:显卡计算不满载 计算速度慢
截图见下

好吧 截图上传不了 就是GPU总占用率10%不到 compute_0占用不到15%

一。cuda_visible_devices 设置可见gpu,但是会将整个gpu占满,Gpu的实际使用率很低。使用tf.configproto.gpu_optional.allow_growth属性设为True时就可以文明使用gpu。
数据读取满,影响计算速度。
二。显卡使用率有规律的上下波动是正常的,因为要读取数据,不同layer显卡开销也不一样。如果总体上,显卡占用率越来越低,则可能是内存占满了,需要清理缓存。
1. 提高 Batch Size(直到显存爆掉);
2. 减少层数;
3. 提高单层计算量(如增大 channels、kernel_size,减小 stride、group);
4. 使用 cuDNN;
5. 如果只是前向计算,可以用 TensorRT;
建议楼主试试。

windows 10的任务管理器的gpu显示有bug,表现为compute不高,但是内存复制很高,这个问题有国外论坛讨论过,如果你的程序跑得正常,其实是满载的。
提高Batch Size或许可以提高所谓的“满载”,但是会降低每个epoch的学习进度,让gpu傻忙,结果是训练时间并没有进步,甚至会出现梯度消失。
在实践中,我建议你首先从改进模型入手。

楼主的e5-2680 v2跑深度学习算法的时候出现过问题(指令集不全之类的?)吗,小白在配机子,纠结装i5 9400f还是2680v2