前提:cuda版本和cudnn版本已安装好,版本对应没问题;
问题:在安装好cuda、tensorflow、tensorflow-gpu的环境下,调用tensorflow跑模型,发现cpu资源占满,而gpu处于空闲状态。
导致上述问题的原因可能有两个:
(1)tensorflow-gpu的版本低于tensorflow的版本;
(2)cuda版本与tensorflow-gpu版本对应不上;
对于第一个原因:tensorflow-gpu的版本低于tensorflow的版本,有以下检查方法:
(1)跑模型,然后bash环境输入nvidia-smi直接查看是否正使用gpu(也能查看CUDA版本)

(2)在python环境下打印设备信息
from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())
1)假如tensorflow-gpu版本低于tensorflow版本时,只会输出以下设备全是cpu的信息:

2)假如tensorflow-gpu版本高于tensorflow版本时,会同时输出cpu和gpu信息:

所以,如果是tensorflow-gpu版本低于tensorflow版本的问题,那直接更新下tensorflow-gpu的版本,使其大于tensorflow版本。
对于第二个原因,cuda版本与tensorflow-gpu版本对应不上,有以下检查方法:
版本对应关系

(1)查看cudnn版本:cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
下面显示cudnn版本信息是7.6.5

(2)查看cuda版本:nvcc -V 或 nvcc --version 或 nvidia-smi

所以,如果是tensorflow-gpu版本和cuda版本对应的问题,同样也是更新tensorflow-gpu的版本,并且保证更新后的版本大于tensorflow版本。

在已安装cuda和tensorflow-gpu的环境中,若运行模型时CPU资源满载而GPU闲置,可能原因是tensorflow-gpu版本低于tensorflow版本或cuda版本不匹配。解决方法包括:检查tensorflow-gpu与tensorflow的版本兼容性,通过nvidia-smi检查GPU使用情况,以及核对cuda和cudnn版本。确保所有组件版本匹配并适当升级,以便利用GPU加速计算。
2778

被折叠的 条评论
为什么被折叠?



