【深度学习笔记】tensorflow-gpu1.13 + Win10 + CUDA10.1 + CUDNN7.5.0 + Python3.7 + VS2019安装

不羁岁月 提交于 2019-12-03 08:23:23

目 录

1 准备工作

Win10上搭建TensorFlow的开发环境需要至少需要安装3个软件,分别为:1.python,2.CUDA和CuDNN,3.TensorFlow(GPU版)。安装前一定要确认好每个软件的版本是否相互支持。

1.1(坑一)确认电脑上没有安装tensorflow的CPU版本,有的话要先卸载

1.2(坑二)更新自己的显卡驱动

因为刚刚重装了电脑发现显卡驱动竟然丢了,那还怎么用GPU,赶紧到官网下载最新的,否则会报错:cudaGetDevice() failed. Status: CUDA driver version is insufficient for CUDA runtime version

也可以在命令行运行命令nvidia-smi查看自己的显卡状态是否有问题

在这里插入图片描述

1.3 查看python版本

import sys 
sys.version

‘3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 22:22:05) [MSC v.1916 64 bit (AMD64)]’

1.4 查看GPU版本

我的电脑 -> 属性 -> 设备管理器 -> 显示适配器,我的版本是NVIDIA GeForce GTX 1050 with Max-Q Design

在这里插入图片描述

1.5 查看Tensorflow版本

GitHub:https://github.com/tensorflow/tensorflow/releases

Pypi:https://pypi.org/project/tensorflow/#history

1.6 查看版本支持

windows和VS的CUDA支持:https://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html

在这里插入图片描述

可以看到CUDA10.1(因为有网友回复10.1会有冲突,而且我后面安装tf2.0的时候是不支持10.1的,所以这里先安装10.0吧)支持win10和VS2019的版本

目前官网上没有给出py3.7和tensorflow1.13的支持,但是有看到网友成功安装的帖子,所以这里进行试装

在这里插入图片描述

GPU的CUDA支持:https://developer.nvidia.com/cuda-gpus

显示支持6.1以上版本

在这里插入图片描述

2 安装CUDA Toolkit 10.0

安装10.0吧,虽然我自己试过10.1可以安装,但是很多人还是不行
下载地址:https://developer.nvidia.com/cuda-toolkit-archive

在这里插入图片描述

运行cuda_10.1.105_418.96_win10.exe,修改安装路径,之后会进行兼容性检查(按照上面对应的版本应该是没有问题的),同意许可协议后选择自定义安装

在这里插入图片描述

在这里插入图片描述

取消勾选NVIDIA GeForce Experience(这里可能会有点卡,稍等一会)

在这里插入图片描述

选择安装路径

在这里插入图片描述

显示缺少VS支持,点击链接安装VS(选择通用Windows平台开发、使用C++的桌面开发、Python开发和Visual Studio 扩展开发),安装过程耗时较长,不要认为是卡了

在这里插入图片描述

在这里插入图片描述

安装好Visual Studio后再重新安装CUDA,过程中会有几次重启(自动安装NVIDIA Nsight HUD Launcher 2019.1)

提示Visual Studio2015/2013/2012未安装,不用管,点击下一步。重启后安装完成。

在这里插入图片描述

在这里插入图片描述

命令行输入nvcc -V,如果输出是 CUDA 版本信息,则说明安装成功

在这里插入图片描述

3 安装cuDNN v7.5.0 (Feb 25, 2019), for CUDA 10.1

CuDNN下载地址:https://developer.nvidia.com/rdp/cudnn-download(简单注册后即可下载)

在这里插入图片描述

把下载好的压缩包解压后得到三个文件夹,拷贝到CUDA的安装目录下(“C:\NVIDIA\CUDAv10.0”)

在这里插入图片描述

在这里插入图片描述

4 配置环境变量

控制面板 -> 系统和安全 -> 系统 -> 高级系统设置 -> 高级 -> 环境变量

确认环境变量,CUDA_PATH和CUDA_PATH_V10已经存在

在这里插入图片描述

依此添加下列三个路径到Path里

C:\NVIDIA\CUDAv10.1\bin

C:\NVIDIA\CUDAv10.1\include

C:\NVIDIA\CUDAv10.1\lib\x64

在这里插入图片描述

5 安装tensorflow1.13(with Anaconda)

第一次安装的时候是这么装的,后来重做了系统没有安装Anaconda,用的后一种方法,后面实例也是按照后一种来的,如果不想用Anaconda安装,直接跳到下一部分即可

打开Anaconda Prompt,配置清华仓库镜,输入

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes

创建运行环境,输入

conda create -n tensorflow-gpu python=3.7    # 新建一个名字叫tensorflow-gpu,python版本为3.7的运行环境

输入“y”安装提示需要安装的包

激活并进入环境,使后续指令在激活的环境中生效,输入

conda activate tensorflow-gpu

升级pip到最新版,防止稍后的安装时,出现错误,输入

python -m pip install --upgrade pip

安装需要的tensorflow版本(查了一下有4个代码,因为以前没有安装过所以用了第一条,其余的可以视自己的情况决定用哪条命令)

pip install tensorflow-gpu    # 默认为最新版本(安装时正好是1.13,如需其他版本如1.12.0输入pip install tensorflow-gpu==1.12.0即可)
pip install --upgrade tensorflow-gpu    # 更新tensorflow-gpu
pip install --ignore-installed --upgrade tensorflow-gpu    # 更新tensorflow-gpu,忽略已经安装的部分
pip install --force-reinstall --upgrade tensorflow-gpu    # 更新tensorflow-gpu,先卸载已经安装的部分

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

至此全部安装完毕

6 直接安装tensorflow(without Anaconda)

6.1 查看CPU的指令集

先查看自己CPU是否支持AVX2指令集,可以通过下载CPU-Z检测:

http://download.cpuid.com/cpu-z/cpu-z_1.87-cn.exe

在这里插入图片描述

可以看到这台电脑支持AVX2指令集

6.2 下载对应版本的tf

https://github.com/fo40225/tensorflow-windows-wheel

找到对应的版本

在这里插入图片描述

分别下载001和002(如果不支持下载SSE2的版本)

在这里插入图片描述

下载完成之后解压得到tensorflow_gpu-1.13.1-cp37-cp37m-win_amd64.whl

在这里插入图片描述

在这里插入图片描述

安装tensorflow

以管理员身份打开命令行

进入 .whl 文件的目录

在这里插入图片描述

通过pip命令安装 .whl 文件

在这里插入图片描述

在这里插入图片描述

7 试用Tensorflow-gpu

进入ipython并输入以下代码

import tensorflow as tf

查看CUDA是否可用

a = tf.test.is_built_with_cuda()
print(a)

在这里插入图片描述

显示True说明可用

查看GPU是否可用

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

在这里插入图片描述

显示True说明可用

7.1 测试1

打开ipython输入

import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))

输出

b'Hello, TensorFlow!'

在这里插入图片描述

7.2 直接在jupyter中测试tensorflow-gpu

在运行代码前我们打开任务管理器 -> 性能,查看当前GPU的状态,正常情况下你没运行什么程序,GPU利用率什么的都是0

在这里插入图片描述

之后运行下面的代码


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)))

在这里插入图片描述

我们再查看GPU的状态可以发现利用率发生了变化,说明确实用到了GPU

在这里插入图片描述

同时也可以确认命令行中的运行日志看到使用了GPU

在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!