GPU版TensorFlow运行报错求助(Windows10+CUDA9.0+CUDNN7.0)
针对你遇到的这两个问题,咱们逐个来解决:
这个其实只是警告而非错误,不会影响TensorFlow的正常运行——它只是说明你的CPU支持AVX2指令集,但你安装的预编译TensorFlow二进制包没有针对这个指令集做优化,所以CPU的性能没法完全发挥。
如果不在意这点性能损失,完全可以忽略这个警告;如果想让TensorFlow用上AVX2优化,你需要从源码编译TensorFlow,但这个过程比较繁琐,对于大部分日常场景来说没必要。
这个错误说明TensorFlow找不到可用的CUDA设备,咱们按步骤排查:
第一步:确认你的显卡支持CUDA
TensorFlow GPU版要求NVIDIA显卡的Compute Capability≥3.0,你可以查询自己显卡型号对应的参数,如果低于3.0,那只能改用CPU版TensorFlow了。第二步:验证CUDA 9.0的安装与环境配置
- 打开命令提示符,输入
nvcc --version,如果能显示CUDA 9.0的版本信息,说明CUDA安装基本正常;如果提示“不是内部或外部命令”,说明环境变量没配置好。 - 检查系统环境变量:
- 确认存在
CUDA_PATH变量,值为C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0 - 把
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin和C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\libnvvp添加到系统Path变量中(注意是系统Path,不是用户Path)
- 确认存在
- 打开命令提示符,输入
第三步:确认CUDNN 7.0安装正确
下载CUDNN 7.0 for CUDA 9.0后,需要把解压后的文件复制到CUDA对应的目录:- 把
cuda\bin下的所有文件复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin - 把
cuda\include下的所有文件复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\include - 把
cuda\lib\x64下的所有文件复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\lib\x64
复制完成后一定要重启电脑,让文件生效。
- 把
第四步:更新NVIDIA驱动到兼容版本
CUDA 9.0要求显卡驱动版本≥384.xx,你可以下载适配自己显卡的最新驱动安装,安装后重启电脑。第五步:验证TensorFlow版本与CUDA/CUDNN的兼容性
TensorFlow GPU版1.7.x是对应CUDA 9.0和CUDNN 7.0的,你可以在Anaconda环境中输入pip show tensorflow-gpu查看安装的版本,如果版本不对,需要卸载后重新安装对应版本:pip uninstall tensorflow-gpu pip install tensorflow-gpu==1.7.0第六步:测试GPU是否被识别
完成以上步骤后,运行下面的代码测试:import tensorflow as tf print(tf.test.is_gpu_available())如果返回
True,说明GPU已经被成功识别,再运行你之前的代码就不会出现CUDA错误了。
内容的提问来源于stack exchange,提问作者Steven Chan

