Win10+1080Ti+VS2017+Python3.7.3+CUDA10.0+cuDNN7.6.0+Tensorflow-gpu1.13.1安装步骤

Tensorflow-gpu安装记录

  • 安装配置
  • 查看当前显卡信息
  • 安装Visual Studio2017
  • 配置Python环境
    • 安装Python
    • 安装virtualenv库
    • 创建虚拟环境
    • 激活虚拟环境
    • 安装Tensorflow-gpu库
  • 安装CUDA
  • 配置cuDNN
  • 各种测试
    • 测试CUDA和cuDNN是否匹配
    • 测试CUDA是否可用
    • 测试GPU是否可用
    • 测试Tensorflow-gpu是否可用
      • 出现DLL load failed: 找不到指定的模块的解决方案
    • 运行一段程序查看是否真正使用了GPU

安装配置

  1. 系统:Windows10
  2. 显卡:QTX1080Ti
  3. ViisualStudio:2017
  4. Python:3.7.3
  5. CUDA:10.0
  6. cuDNN:7.6.0
  7. Tensorflow-gpu:1.13.1

查看当前显卡信息

  1. 在桌面空白处单击右键进入NVIDIA控制面板
    Win10+1080Ti+VS2017+Python3.7.3+CUDA10.0+cuDNN7.6.0+Tensorflow-gpu1.13.1安装步骤_第1张图片
  2. 单击界面左下角的系统信息
    Win10+1080Ti+VS2017+Python3.7.3+CUDA10.0+cuDNN7.6.0+Tensorflow-gpu1.13.1安装步骤_第2张图片
  3. 可在显示和组件两个选项卡中查看显卡信息
    Win10+1080Ti+VS2017+Python3.7.3+CUDA10.0+cuDNN7.6.0+Tensorflow-gpu1.13.1安装步骤_第3张图片
    Win10+1080Ti+VS2017+Python3.7.3+CUDA10.0+cuDNN7.6.0+Tensorflow-gpu1.13.1安装步骤_第4张图片
  4. GPU,CUDA,cuDNN的理解
  5. 驱动与CUDA的关系
    我的显卡驱动版本是411.31,所以我装的是CUDA10.0
    Win10+1080Ti+VS2017+Python3.7.3+CUDA10.0+cuDNN7.6.0+Tensorflow-gpu1.13.1安装步骤_第5张图片
  6. CUDA支持的GPU
    页面上给出了支持CUDA的GPU型号和对应的算力
    CUDA支持GTX1080Ti,且这款GPU的算力为6.1
    Win10+1080Ti+VS2017+Python3.7.3+CUDA10.0+cuDNN7.6.0+Tensorflow-gpu1.13.1安装步骤_第6张图片

安装Visual Studio2017

  1. 安装CUDA需要提前安装好Visual Studio,进入官网下载VS2017,社区版是免费的
  2. 勾选通用Windows平台开发、使用C++的桌面开发、Python开发、Visual Studio 扩展开发

配置Python环境

安装Python

进入Python官网下载Python3.7.3,安装过程中记得勾选加入环境变量那一项,这样就不用手动添加了
Win10+1080Ti+VS2017+Python3.7.3+CUDA10.0+cuDNN7.6.0+Tensorflow-gpu1.13.1安装步骤_第7张图片
也可直接下载Anaconda搭载Python3.7版本的软件,下载地址:这里
Win10+1080Ti+VS2017+Python3.7.3+CUDA10.0+cuDNN7.6.0+Tensorflow-gpu1.13.1安装步骤_第8张图片

安装virtualenv库

win+R 输入cmd进入命令行,在命令行输入

pip install virtualenv

Win10+1080Ti+VS2017+Python3.7.3+CUDA10.0+cuDNN7.6.0+Tensorflow-gpu1.13.1安装步骤_第9张图片

创建虚拟环境

cd 进入希望存放虚拟环境的地址,这里方便演示,直接在F盘下创建了一个虚拟环境

virtualenv test_env

test_env可替换为你自己取的虚拟环境的名字
在这里插入图片描述
创建完成后可以看到创建的虚拟环境文件夹
在这里插入图片描述

激活虚拟环境

cd F:\test_env\Scripts
activate

激活成功后会出现(test_env)
Win10+1080Ti+VS2017+Python3.7.3+CUDA10.0+cuDNN7.6.0+Tensorflow-gpu1.13.1安装步骤_第10张图片
若想退出虚拟环境使用deactivate即可

安装Tensorflow-gpu库

在虚拟环境下使用pip安装

pip install tensorflow-gpu==1.13.1

Win10+1080Ti+VS2017+Python3.7.3+CUDA10.0+cuDNN7.6.0+Tensorflow-gpu1.13.1安装步骤_第11张图片
Win10+1080Ti+VS2017+Python3.7.3+CUDA10.0+cuDNN7.6.0+Tensorflow-gpu1.13.1安装步骤_第12张图片
若虚拟环境中已经装有tensorflow,则需先彻底卸载tensorflow
若虚拟环境中已经装有其他版本的tensorflow-gpu,则需先彻底卸载其他版本的tensorflow-gpu

安装CUDA

  1. 进入这里下载CUDA Toolkit 10.0
    Win10+1080Ti+VS2017+Python3.7.3+CUDA10.0+cuDNN7.6.0+Tensorflow-gpu1.13.1安装步骤_第13张图片
    根据自己的系统选择要下的版本,network是在exe中在线下载,local是浏览器内下载整个安装包
    强烈建议连接未批嗯后下载Win10+1080Ti+VS2017+Python3.7.3+CUDA10.0+cuDNN7.6.0+Tensorflow-gpu1.13.1安装步骤_第14张图片
  2. 选择自定义安装,可以不用勾选GeForce Experience,安装完成后不需要手动添加环境变量

配置cuDNN

  1. 进入这里下载cuDNN7.6.0(需要先注册一下账号,很快完成,不复杂)
    我下载的是7.6.0,我认为只要是for CUDA 10.0的应该都行
    在这里插入图片描述
  2. 解压后将bin、include、lib这3个文件夹复制到
    C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0
    在这里插入图片描述
    Win10+1080Ti+VS2017+Python3.7.3+CUDA10.0+cuDNN7.6.0+Tensorflow-gpu1.13.1安装步骤_第15张图片

各种测试

测试CUDA和cuDNN是否匹配

  1. 进入C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.0
  2. 运行你电脑中Visual Studio对应版本的sln文件,我电脑里装的是VS2017,打开Samples_vs2017.slnWin10+1080Ti+VS2017+Python3.7.3+CUDA10.0+cuDNN7.6.0+Tensorflow-gpu1.13.1安装步骤_第16张图片
  3. 等待项目方案加载完成(需要几分钟),按F5运行,若能弹出以下窗口说明CUDA与cuDNN是匹配的
    若报错SDK版本不匹配,到VS安装界面修复,勾选对应版本的SDK即可
    Win10+1080Ti+VS2017+Python3.7.3+CUDA10.0+cuDNN7.6.0+Tensorflow-gpu1.13.1安装步骤_第17张图片

测试CUDA是否可用

  1. 激活之前创建的虚拟环境
  2. 使用虚拟环境的python
(test_env) F:\test_env\Scripts>python
>>> import tensorflow as tf
>>> a = tf.test.is_built_with_cuda()
>>> print(a)

出现>>> True则表示CUDA可用
Win10+1080Ti+VS2017+Python3.7.3+CUDA10.0+cuDNN7.6.0+Tensorflow-gpu1.13.1安装步骤_第18张图片

测试GPU是否可用

>>> b = tf.test.is_gpu_available(cuda_only = False, min_cuda_compute_capability = None)
>>> print(b)

出现>>> True则表示GPU可用
Win10+1080Ti+VS2017+Python3.7.3+CUDA10.0+cuDNN7.6.0+Tensorflow-gpu1.13.1安装步骤_第19张图片

测试Tensorflow-gpu是否可用

(test_env) F:\test_env\Scripts>python
>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print(sess.run(hello))	

如果没有出现ImportError: DLL load failed: 找不到指定的模块,
而是出现>>> b’Hello, TensorFlow!’,则表示tensorflow-gpu能正常使用
Win10+1080Ti+VS2017+Python3.7.3+CUDA10.0+cuDNN7.6.0+Tensorflow-gpu1.13.1安装步骤_第20张图片

出现DLL load failed: 找不到指定的模块的解决方案

  1. 使用everything(下载地址:这里)搜索dumpbin,我的电脑是64位的,我复制了x64的dumpbin.exe路径名
    Win10+1080Ti+VS2017+Python3.7.3+CUDA10.0+cuDNN7.6.0+Tensorflow-gpu1.13.1安装步骤_第21张图片
  2. 使用dumpbin的/dependents显示_pywrap_tensorflow_internal.pyd所依赖的DLL
    命令行输入
"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64\dumpbin.exe" /dependents F:\test_env\Lib\site-packages\tensorflow\python\_pywrap_tensorflow_internal.pyd

Win10+1080Ti+VS2017+Python3.7.3+CUDA10.0+cuDNN7.6.0+Tensorflow-gpu1.13.1安装步骤_第22张图片

  1. 命令行输入
where cublas64_100.dll

在这里插入图片描述
依次检验各依赖DLL文件是否存在,是否出现了版本不对应的情况

例如:要求的DLL是cudnn64_7.dll,但是用everything无法搜到cudnn64_7.dll,只能搜到cudnn64_6.dll,可能是cuDNN版本不匹配

  1. 该解决方案来源于:这里
  2. 也可以连接未批嗯进入这里下载测试DLL的脚本文件(需要自己根据dumpbin获得的依赖DLL文件名修改一下脚本程序的内容以符合自己的下载的CUDA、cuDNN版本)
    Win10+1080Ti+VS2017+Python3.7.3+CUDA10.0+cuDNN7.6.0+Tensorflow-gpu1.13.1安装步骤_第23张图片

运行一段程序查看是否真正使用了GPU

  1. 在Pycharm中运行这段代码(配置好装有tensorflow-gpu的虚拟环境)
import tensorflow as tf
 
with tf.Session(config = tf.ConfigProto(allow_soft_placement = True, log_device_placement = True)) as sess:
    # allow_soft_placement=True 表示使用gpu不能使用gpu时使用cpu
    # log_device_placement=False 不打印日志,不然会刷屏,为了查看是否使用gpu,我们设置为True
    a = tf.constant(1)
    b = tf.constant(3)
    c = a + b
    print('结果是:%d\n 值为:%d' % (sess.run(c), sess.run(c)))
  1. 运行结果
    Win10+1080Ti+VS2017+Python3.7.3+CUDA10.0+cuDNN7.6.0+Tensorflow-gpu1.13.1安装步骤_第24张图片
  2. 提前打开任务管理器中的性能,查看GPU使用情况,可以看到程序运行时GPU利用率那里有个小尖峰,即表明确实使用了GPU
    Win10+1080Ti+VS2017+Python3.7.3+CUDA10.0+cuDNN7.6.0+Tensorflow-gpu1.13.1安装步骤_第25张图片
    该测试来源于:这里

你可能感兴趣的:(tensorflow,机器学习)