关于机器上已安装CUDA,但在anaconda下tensorflow出现cudaGetDevice() failed问题的解决

机器已经安装了CUDA 9.1,驱动为390.58,我补装了对应的cudnn,并且测试通过,但是在anaconda环境下,用conda install tensorflow-gpu=1.12后,运行sess = tf.Session()时报错:

tensorflow.python.framework.errors_impl.InternalError: cudaGetDevice() failed. Status: CUDA driver version is insufficient for CUDA runtime version

原因在于conda自动安装时,CUDA toolkit安装的是9.2,但是9.2对应的驱动为不小于396,因此就出错了
解决方法为在那个环境下卸载CUDA与cudnn,然后安装合适的版本。
卸载:

conda uninstall cudnn
conda uninstall cudatoolkit

安装

conda install cudatoolkit=9.0
conda install cudnn

版本根据需求自定义,下面有版本对应关系。
然后重新用conda install安装tensorflow-gpu即可。
CUDA各版本与驱动的对应关系可点击链接:https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
关于机器上已安装CUDA,但在anaconda下tensorflow出现cudaGetDevice() failed问题的解决_第1张图片
tensorflow-gpu与CUDA和cudnn的对应关系可查看:https://tensorflow.google.cn/install/source
关于机器上已安装CUDA,但在anaconda下tensorflow出现cudaGetDevice() failed问题的解决_第2张图片

你可能感兴趣的:(杂文)