win10 MX150显卡 教你尝试安装Tensorflow-gpu

  1. 进入NVIDIA显卡控制面板,查看显卡驱动程序,确定电脑能支持的CUDA的最高版本(记为n)
  2. 安装microsoft visual c++ 2012, 2013,2017这些不大,尽量都装上吧
  3. 安装版本为n的CUDA及与CUDA匹配的cuDNN(CUDA该打的补丁全都装上,cuDNN文件夹该复制的都复制过去,还有个extra文件夹,把里面的*.dll和*.lib文件也都复制过去。)
  4. 环境变量该设置的都设置全了。
  5. 安装包管理软件(例如Anaconda)使用python3.6创建至少一个虚拟环境,最好创建两个虚拟环境
  6. 在创建的虚拟环境中使用pip安装tensorflow-gpu,版本从高到低试验吧。例如虚拟环境1中安装tensorflow-gpu 2.0.0a0,那么同时在虚拟环境2中安装tensorflow-gpu 1.13.1。安装好之后就试验简单的代码示例 “import tensorflow as tf” "hello = tf.constant('Hello,Tensorflow!')",后面的代码自己搜。只要出现报错 “DLL load failed: 找不到指定的模块“,那就证明该版本tensorflow-gpu与该版本CUDA不匹配。因为我们不知道DLL到底指的是哪个dll,所以环境1试完再试环境2,如果两个都报错,那么就降tensorflow的版本,一直试下去。如果一直降版本不行,那就执行步骤7
  7. 降CUDA的版本,例如安装n-1版本,再把步骤3和步骤6试一遍。如果没有报错,就证明tensorflow-gpu初步安装成功了!
  8.  
  9. 说一下我自己的情况:我的显卡控制面板里面,点击左下角”系统信息“,在出现的页面可以看到第一行是”驱动程序版本“,选择‘组件’选项卡,可以找到一个NVCUDA.DLL,可以看到的信息是诸如”NVIDIA CUDA 9.2.153 driver,那么我理解的是支持CUDA的最高版本是9.2.153)。我装了UDA 9.2.148,执行了上面的1~6步,总是报错 “DLL load failed: 找不到指定的模块“。所以,我在没有卸载CUDA 9.2.148的情况下又装了CUDA 9.0. !! 这个时候,在cmd中输入nvcc -V时,显示的是CUDA 9.0 
  10. 为了交替试验CUDA 9.0 应该匹配tensorflow-gpu的哪个版本,我用conda建立了一个虚拟环境(一个是base(Anaconda自建),一个是tensorflow(python36)我自己的)在base环境中pip安装了tensorflow-gpu==1.10.0,在自建环境tensorflow(python36)中pip安装了tensorflow-gpu==1.11.0,这些都连接的是阿里云镜像站。
  11. 很幸运,环境1中的tensorflow-gpu安装成功!环境2中的tensorflow-gpu也安装成功。所以,我没有再继续升tensorflow的版本。卸载了base环境中的tensorflow-gpu,只保留了自建环境中的tensorflow-gpu。
  12. 补充说明:NVIDIA显卡控制面板,点击“系统信息”后,出现的页面有两个选项卡“显示”和“组件”,“显示”下可查“驱动程序版本”,“组件”下可查“NVCUDA.DLL的版本信息”,这两者是相互关联的。当你更新完驱动程序后,这两个版本会同步变动。我安装成功tensorflow-gpu后,在设备管理器中更新了显卡的驱动程序,再去看“NVCUDA.DLL的版本信息时,发现已经变成了“NVIDIA CUDA 10.0.132 driver”
  13. 不要追求高版本!陈最良!版本降低一些,成功率更高

你可能感兴趣的:(Tensorflow)