windows10:GTX GeForce 1070+更新nvidia显卡驱动+CUDA+CUDNN+tensorflow_gpu深度学习GPU环境搭建(史上排雷最多版本)

windows10

GTX GeForce 1070+CUDA9.0+CUDNN7.6.4+TensorFlow_GPU1.5

5天星期前开始搭建tensorflow GPU环境,途中屡屡踩雷,

现在把环境已经完全搭好,

搭配版本如上

首先的首先,要知道你

  • 是否有独立显卡
  • 显卡是否能做深度学习

搭了一半的时候被告知我的显卡不能做深度学习,去网上查了一下,geforce显卡被英伟达禁止做深度学习,好在后来问了一下别的同学,其实也可以做,我的显卡内存8G,可用内存6G

接下来首要的任务,了解一下自己该配什么版本相关配置,可以简单参考一下,后面还会有讲到。

版本参考:https://blog.csdn.net/mangobar/article/details/93624545

搭建步骤:

  1. 更新nvidia显卡驱动到最新版本
  2. 下载合适版本的cuda
  3. 下载合适版本的cudnn
  4. 配置系统环境变量
  5. 卸载conda下的tensorflow,pip安装tensorflow_gpu。卸载一些conda包,改为pip重新安装

一、更新nvidia显卡驱动

1、查看自己的电脑显卡配置

方法一:控制面板>>nvidia控制面板

方法二:电脑左下角搜索>>nvidia control panel

windows10:GTX GeForce 1070+更新nvidia显卡驱动+CUDA+CUDNN+tensorflow_gpu深度学习GPU环境搭建(史上排雷最多版本)_第1张图片

界面如下:

windows10:GTX GeForce 1070+更新nvidia显卡驱动+CUDA+CUDNN+tensorflow_gpu深度学习GPU环境搭建(史上排雷最多版本)_第2张图片

我这里是更新过后的驱动版本

 

2、访问nvidia官网,查找适合显卡型号的驱动版本,下载

点击官网https://www.nvidia.cn/Download/index.aspx?lang=cn

windows10:GTX GeForce 1070+更新nvidia显卡驱动+CUDA+CUDNN+tensorflow_gpu深度学习GPU环境搭建(史上排雷最多版本)_第3张图片

3、安装显卡驱动

双击安装

中途不要安装geforce experience(自动更新驱动程序)经常自己更新不太好,我选择了精简版,默认安装

4、确认显卡驱动安装完毕

按照步骤一再次寻找自己的nvidia控制面板,

注意:如果用搜索能找得到,但是控制面板里面没有,这没有关系,下载最新驱动就是完成了

注意:如果搜索里面也找不到,就用下面的办法

windows10的这个程序有在windows应用商店手动下载

windows10:GTX GeForce 1070+更新nvidia显卡驱动+CUDA+CUDNN+tensorflow_gpu深度学习GPU环境搭建(史上排雷最多版本)_第4张图片

下载之后再检查一遍,就能找到这个图形界面了

或者

在cmd 中使用 nvcc-V命令

windows10:GTX GeForce 1070+更新nvidia显卡驱动+CUDA+CUDNN+tensorflow_gpu深度学习GPU环境搭建(史上排雷最多版本)_第5张图片

二、下载适合版本的CUDA

1、进入官网下载CUDAhttps://developer.nvidia.com/cuda-toolkit-archive

我选择了9.0版本的CUDA下载,

其余选项如下图:

windows10:GTX GeForce 1070+更新nvidia显卡驱动+CUDA+CUDNN+tensorflow_gpu深度学习GPU环境搭建(史上排雷最多版本)_第6张图片

windows10:GTX GeForce 1070+更新nvidia显卡驱动+CUDA+CUDNN+tensorflow_gpu深度学习GPU环境搭建(史上排雷最多版本)_第7张图片

2、安装CUDA,精简版。默认路径,如果自定义路径,要记得这些路径,一会儿配置环境变量需要

默认路径

软件:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0

DATA:C:\ProgramData\NVIDIA Corporation\CUDA Samples\v9.0

3、检查是否安装成功

可以使用CUDA内置的deviceQuery.exe 和 bandwithTest.exe:
首先win+R启动cmd,cd到安装目录下的 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\extras\demo_suite

,然后分别执行bandwidthTest.exedeviceQuery.exe,应该得到下面两图:

val 1

val 2

如果以上两步都返回了Result=PASS,那么就算成功啦。

三、下载适合版本的CUDNN

1、下载

下载cuDNN需要在nvidia上注册账号,免费下载。

cuDNN历史版本在该网址下载:https://developer.nvidia.com/rdp/cudnn-archive

我选择7.6.4版本

windows10:GTX GeForce 1070+更新nvidia显卡驱动+CUDA+CUDNN+tensorflow_gpu深度学习GPU环境搭建(史上排雷最多版本)_第8张图片

2、解压下载好的cuDNN,“cudnn-9.0-windows10-x64-v7.3.1.20”,将三个文件夹,拷贝到CUDA安装的根目录下。

 

windows10:GTX GeForce 1070+更新nvidia显卡驱动+CUDA+CUDNN+tensorflow_gpu深度学习GPU环境搭建(史上排雷最多版本)_第9张图片

拷贝到:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0

windows10:GTX GeForce 1070+更新nvidia显卡驱动+CUDA+CUDNN+tensorflow_gpu深度学习GPU环境搭建(史上排雷最多版本)_第10张图片

 

四、配置环境变量

1、正常情况下的配置

右键计算机>>属性>>高级系统设置>>高级>>环境变量>>系统变量>>

windows10:GTX GeForce 1070+更新nvidia显卡驱动+CUDA+CUDNN+tensorflow_gpu深度学习GPU环境搭建(史上排雷最多版本)_第11张图片

发现

加入以下变量

  • 变量名:CUDA_SDK_PATH                    变量值:C:\ProgramData\NVIDIA Corporation\CUDA Samples\v9.0
  • 变量名:CUDA_LIB_PATH                      变量值:%CUDA_PATH%\lib\x64
  • 变量名:CUDA_BIN_PATH                     变量值:%CUDA_PATH%\bin
  • 变量名:CUDA_SDK_BIN_PATH            变量值:%CUDA_SDK_PATH%\bin\win64
  • 变量名:CUDA_SDK_LIB_PATH             变量值:%CUDA_SDK_PATH%\common\lib\x64

添加完成后:

windows10:GTX GeForce 1070+更新nvidia显卡驱动+CUDA+CUDNN+tensorflow_gpu深度学习GPU环境搭建(史上排雷最多版本)_第12张图片

然后:

在系统变量 PATH 的末尾再添加如下4条(默认安装路径):

  • C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\lib\x64;
  • C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin;
  • C:\ProgramData\NVIDIA Corporation\CUDA Samples\v9.0\common\lib\x64;
  • C:\ProgramData\NVIDIA Corporation\CUDA Samples\v9.0\bin\win64;

添加完成后:

 

而且系统变量path里面有2个值是自动生成的

2、不正常情况下的配置

如果不慎将系统变量path或其他变量的值删掉了或者覆盖了,找不回来了,有三种方法

第一种:

通过注册表挽回
1.win + R,打开运行,输入regedit,进入注册表。
2.定位至HYEK_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment
3.右键修改,将数值数据一栏全选,复制

注册表中path
4.右键此电脑-属性-高级系统设置-高级-环境变量
5.在系统变量里找到path,编辑(或编辑文本),粘贴

 

第二种:可以复制别人的path值

%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;

 

第三种:path变量值不记得,又不能直接复制他人的值。

可以将系统还原到上一个就近的还原点

右键点击计算机>>属性>>系统保护>>系统还原

windows10:GTX GeForce 1070+更新nvidia显卡驱动+CUDA+CUDNN+tensorflow_gpu深度学习GPU环境搭建(史上排雷最多版本)_第13张图片

选择还原点,下一步

windows10:GTX GeForce 1070+更新nvidia显卡驱动+CUDA+CUDNN+tensorflow_gpu深度学习GPU环境搭建(史上排雷最多版本)_第14张图片

windows10:GTX GeForce 1070+更新nvidia显卡驱动+CUDA+CUDNN+tensorflow_gpu深度学习GPU环境搭建(史上排雷最多版本)_第15张图片

选择就近的两天前的系统还原点,点击下一步,坐等就好了,中途可能要重启

最后发现原来的path又回来了!!!!

再重新配置系统变量

 

五、pip安装和conda卸载(如果你一直用python虚拟环境不用conda,可以省去)

1、卸载tensorflow

conda uninstall tensorflow,此版本默认cpu运行,必须卸载

2、安装GPU版本的tensorflow

pip install tensorflow-gpu==1.5

试验一下是否可用gpu:

在配置好的环境中,进入python,输入以下命令:

import tensorflow as tf

tf.test.gpu_device_name()

结果若出现,device:GPU:0,代表安装成功。

windows10:GTX GeForce 1070+更新nvidia显卡驱动+CUDA+CUDNN+tensorflow_gpu深度学习GPU环境搭建(史上排雷最多版本)_第16张图片

3、处理不兼容的包

conda uninstall numpy

conda uninstall scipy

conada uninstall scikit-learn

conda uninsall keras

然后

pip install numpy

pip install scipy

pip install scikit-learn

pip install keras

注意这里pip install 顺序numpy>>scipy>>scikit-learn

4、一些pip安装时报的错

  1. 缺少       ×××dist-info\\METADATA      文件:文件夹中找到这个包,删掉重下,或者,直接无视,或者,从其他python环境文件夹中将这个包的METADATA文件拷贝过来
  2. ModuleNotFoundError: No module named '_pywrap_tensorflow_internal'--解决方法https://blog.csdn.net/qq_36556893/article/details/86406455

  3. ImportError:DLL load failed:找不到指定模块的解决方法:查看报错行,将报错的模块conda uninstall然后pip install,还有它的依赖包也需要用pip重装

  4. 报错Could not install packages due to an EnvironmentError: [Errno 2] No such file or directory: 'C:\\Users\\asus\\AppData\\Local\\Temp\\pip-req-tracker-xmyu9uqv\\9b71a09296342e78a4dfb3ad80cf2411a9846b653bf0f4dc51d4c58e'

或者

       Could not install packages due to an EnvironmentError

解决方法是 在install后面 加上 --user:pip install --user 

5.Could not install packages due to an EnvironmentError: [Errno 2] No such file or directory: …

参考stackoverflow的回答:

conda install html5lib

https://stackoverflow.com/questions/53901270/could-not-install-packages-due-to-an-environmenterror-errno-2-no-such-file-or

6.导入Keras库时报错“ ImportError: cannot import name 'tf_utils'”:

conda uninstall keras;    pip install keras

https://blog.csdn.net/Leeoo_lyq/article/details/103794226

7.cannot import name 'descriptor':

卸载TensorFlow;卸载protobuf(如果已安装protobuf);重新安装TensorFlow,自动安装正确的protobuf依赖项。

https://stackoverflow.com/questions/42006320/tensorflow-pip-installation-issue-cannot-import-name-descriptor

 

 

终于搞定,原先用cpu进行深度学习训练,epoch=32时,程序崩坏

现在用epoch=46时,达到earlystop,完美

用了4天搞定,解决了各种踩雷挖坑,必须写下来这苦闷的5天所干的事

然后,还是习惯性结尾——

欢迎交流~~!

 

 

 

 

你可能感兴趣的:(环境搭建)