Windows系统用Anaconda安装tensorflow和pytorch的gpu版本

前言

我们要做哪些工作?

首先我们在这篇文章中要安装的软件有:

  • Anaconda
  • cuda
  • cudnn
    需要配置的框架有:
  • pytorch
  • tensorflow
    需要安装运行代码的平台有:
  • pycharm
  • jupyter notebook

版本分别是:
在这里插入图片描述

安装的这些东西都是啥,什么用?

我第一次接触时也很蒙为啥要装这些东西呢?他们都是干啥的具体有什么用呢?下面记录了一下我的理解

  • Anaconda : Anaconda是一个打包的集合,里面预装好了conda、某个版本的python、众多packages、科学计算工具提供了包管理与环境管理的功能,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题。所以Anaconda是我们首先必须安装的软件
  • cuda(Compute Unified Device Architecture):中文叫统一计算架构。我们一般电脑都有NVIDIA的显卡驱动程序,CUDA是NVIDIA推出的用于自家GPU的并行计算框架,也就是说CUDA只能在NVIDIA的GPU上运行,而且只有当要解决的计算问题是可以大量并行计算的时候才能发挥CUDA的作用。
  • cudnn(CUDA Deep Neural Network library): 是NVIDIA打造的针对深度神经网络的加速
    ,是一个用于深层神经网络的GPU加速库。如果你要用GPU训练模型,cuDNN不是必须的,但
    是一般会采用这个加速库。
  • tensorflow,pytorch : 这俩都是当下非常流行的深度学习框架,用这框架可以方便我们搭建网络模型,并进行训练,但在训练过程中的要处理的输入数据很多,有时是上万张图片,如果用cpu去跑的话花费的时间太多,所以我们选择是用gpu版本的tensorflow 和pytorch
  • pycharm: IDEA开发环境,适合跑很大的项目,有degug功能
  • jupyter notebook: 也是用来调试python 代码的IDE, 以网页的形式显示代码和输出结果。
    小结: 一切的起因都是要用python,但是它的IDE没有python解释器,所以我们要去下载一个。
    Anaconda是比较好的python管理器,所以推荐安装它。Anaconda又可以分很多个虚拟环境来管理,
    我们使用Anaconda里的python解释器是使用其某一个虚拟环境中的python解释器。(可以看到
    Anaconda每个虚拟环境中都各自有自己的python.exe解释器文件)。同时我们要管理这个Anaconda中的虚拟环境,用的是cmd或者Anaconda Prompt。然后为了搭建tensorflow 和pytorch的gpu版本的深度学习框架,我们需要安装cuda和cudnn。最后,要用一个IDE来编写调试python代码,推荐使用
    pycharm和jupyternotebook。

虚拟环境,环境变量是啥?

在安装的过程中经常会碰到虚拟环境这个名词,还用经常要配置环境变量,下面就做一个解释

  • **虚拟环境:**要运行python命令,就需要解释器Python.exe解释它。要想在代码里import numpy,就需要numpy的包,然后肯定还需要链接库啊其他什么的,这些东西就构成了一个虚拟环境。
  1. 用win+R 打开命令行窗口,键入 cmd , (一般默认打开就是cmd,点击确定或者按Enter键就行) 【cmd是什么? cmd就是命令提示符。cmd 可以理解为Windows操作系统兼容的DOS操作系
    统。】
    在这里插入图片描述
  2. 输入 conda env list conda env list 的意思是显示所有虚拟环境。(等安装完Anaconda后再来测试这一步!先了解下就行)
    一般打开时,只有base这个虚拟环境,之前说的Anaconda自带了很多科学包,指的就是“base”这
    个虚拟环境带有的包。我们如果想要新建一个虚拟环境,需要在新的环境里面重新下载包,他们是不互通的。
  • 环境变量 :安装Anaconda时需要设置环境变量,环境变量就是某些特定的文件路径。
    【Windows 系统如何进入环境变量】
  1. 打开控制面板
    【法1】点击桌面左下角的windows图标,然后点击“设置”,然后在设置界面中找到“系统”,点击进
    入。再在左侧菜单栏中找到“关于”,点击进入。
    在这里插入图片描述
    【法2】左下角在放大镜处的文本编辑框内键入”系统’’, 然后点击打开即可。
    在这里插入图片描述
    【法3】右键点击桌面上的“此电脑”图标,再在弹出的对话框中点击“属性”。
    在这里插入图片描述
  2. 高级系统设置
    然后下滑页面,在相关设置中找到“高级系统设置”,点击进入
    在这里插入图片描述
  3. 环境变量
    在这里插入图片描述
  4. 设置环境变量
    设置到用户变量,就只对这个用户有效,若设置到系统变量就对每个用户都有效。
    设置环境变量,就是为了告诉cmd 要执行某条命令,例如“conda env list”指令,应该去找谁翻译执行,而这个C:\Users\Lenovo\anaconda3就是它需要的环境变量。系统默认到Path里找,自然要到Path里设
    置。这样,即使就在用户目录下执行指令也可以执行成功。实际上,安装完Anaconda后有一个叫Anaconda Prompt的类似cmd的东西。如果在这里输入“conda env list”也可以正确执行,即 使Path没有配置好环境变量
    在这里插入图片描述

安装的难点

  • 版本的匹配问题: 主要是python版本、cuda版本、cudnn版本、pytorch版本、tensorflow的版本匹配(他们之间有相互的匹配规则,在安装前一定要弄清楚要安装的版本。不然就会像我第一次安装一样,安装完了又卸载再安装。。。)
  • 环境的冲突问题:安装完Anaconda,我们会有一个base的基础环境。但是不要把pytorch,tensorflow都安装在base 环境中(具体来说就是直接在base 环境里pip install…), 不然会有内部依赖的冲突。我觉得比较好的做法是为每一个框架搭建一个新的虚拟环境(每一个虚拟环境对应一个python版本)
  • 命令的输入窗口:我们在安装过程中会在命令窗口输入命令,但要注意是用win+R 打开的cmd窗口,还是Anaconda Prompt、Anaconda powershell Prompt
  • 安装的过程中最好不要用翻墙软件,不然可能由于网络问题导致安装失败(我第一次就是因为这个耽误了很长时间找不到error的原因。。。)

安装Anaconda

下载并安装Anaconda

  1. 首先进入Anaconda官网
  2. 选择适合自己电脑系统的版本,并点击download

在这里插入图片描述
3.双击下载好的应用程序,并进行安装(除了下述特别注意的步骤外,其他的默认选项即可)
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
4. 然后打开电脑左下角的windows图标,“最近添加”中就会多出来下面几个图标(后面会用到)
在这里插入图片描述
5. 然后点击Anaconda Navigator
这个过程中不要连外网!不然会出现如下的Error (第一次安装的时候因为这个折腾的好久以为是安装出错了)

在这里插入图片描述

正常情况下,打开后的界面长这样(目前只有一个base环境):
在这里插入图片描述

检查安装结果

检查安装的Anaconda版本: 在Anaconda Prompt 中键入 conda -V
在这里插入图片描述
检查已经安装的包: 在Anaconda Prompt 中键入 conda list
在这里插入图片描述

查看当前环境: 在Anaconda Prompt 中键入 conda info -e

在这里插入图片描述

前提准备

检查是否支持GPU

  1. 打开NVIDIA 控制面板
    搜索NVIDIA Control Panel,然后打开。
    在这里插入图片描述
  2. 然后点击"帮助",“系统信息”
    在这里插入图片描述
  3. 查看GPU的型号
    在这里插入图片描述

选择合适的版本

CUDA驱动及CUDA Toolkit最高对应版本

在这里插入图片描述
更多匹配组合可以到cuda官网上去查看

使用nvidia-smi查询驱动版本, 我的电脑目前的驱动版本是461.73, 最高可以安装的cuda版本是11.2
注:驱动是向下兼容的,其决定了可安装的CUDA Toolkit的最高版本。
在这里插入图片描述

cuda 和cudnn 的版本匹配

在这里插入图片描述
更多匹配组合可以到cudnn官网上去查看(一会也会在这个网站上下载cudnn)

tensorflow-gpu 与cudnn、cuda、python的匹配

在这里插入图片描述
更多匹配组合可以到tensorflow官网上查看

CUDA Toolkit和PyTorch对应版本

在这里插入图片描述
更多匹配组合可以到pytorch官网上查看

安装版本汇总

cudacudnnpytorchtensorflow-gpupythontorchvision
11.08.0.51.7.12.4.03.7(tensorflow) 3.8(pytorch)0.8.2

安装CUDA

下载CUDA

CUDA Toolkit 官网下载地址上选择合适的版本进行下载
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

配置环境变量

  1. 检查是否安装成功
    安装成功后在系统的环境变量中会自动添加两个变量,如图:“CUDA_PATH", 和”
    CUDA_PATH_V11_0"
    在这里插入图片描述
  2. 添加系统变量
    点击“新建”, 然后依次添加下述5个系统变量,然后点击“确认”
变量						值
CUDA_SDK_PATH  				C:\ProgramData\NVIDIA Corporation\CUDA Samples\v11.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

在这里插入图片描述
然后在系统变量Path里添加变量,双击Path添加如下变量

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

在这里插入图片描述
在这里插入图片描述

检验cuda是否安装成功

  1. 打开cmd命令窗口,切换路径
    cd C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\extras\demo_suite
  2. 分别运行如下命令:
    bandwidthTest.exe
    如下图,Result=Pass
    在这里插入图片描述

deviceQuery.exe
如下图,Result=Pass , 安装成功。
在这里插入图片描述

安装Cudnn

  1. Cudnn 官网下载地址上选择合适的版本进行下载

在这里插入图片描述
在这里插入图片描述
2. 解压下载好的exe文件
在这里插入图片描述
3. 将解压后的 cuda 中的所有文件复制并粘贴到 “C:\Program Files\NVIDIA GPU Computing
Toolkit\CUDA\v11.0” 目录下。
在这里插入图片描述
在这里插入图片描述

安装pytorch

  1. 打开Anaconda Prompt,在命令窗口输入命令 conda create -n pytorch python=3.7 (其中pytorch是我自己为虚拟环境起的名字,也可以取其他的名字。 这个过程中不要连外网,保持网络的通畅)

  2. 进入虚拟环境 activate pytorch

  3. 安装pytorch pip install pytorch==1.7.1

  4. 检查pytorch安装的版本

如果第三步出错,可以去官网轮子下载地址,选择适合自己版本的轮子,并下载到本地。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
切换路径到这两个whl文件所在的文件夹下,然后再pip install 文件名
在这里插入图片描述
在这里插入图片描述

安装tensorflow-gpu

  1. 打开Anaconda Prompt,在命令窗口输入命令 conda create -n tf-gpu python=3.7 (其中tf-gpu是我自己为虚拟环境起的名字,也可以取其他的名字。 这个过程中不要连外网,保持网络的通畅)
    在这里插入图片描述
    在这里插入图片描述

  2. 进入虚拟环境 activate tf-gpu

  3. 安装tensorflow-gpu pip install tensorflow-gpu==2.4.0
    在这里插入图片描述
    如果安装失败,也可以去官网下载轮子:http://mirrors.aliyun.com/pypi/simple/tensorflow-gpu/

  4. 检查tensorflow的安装版本
    在当前环境下键入下列三个命令:python, import tensorflow as tf,tf.__version__
    在这里插入图片描述

常用命令汇总:
创建环境
conda create -n name python=version
删除环境
conda env remove -n name
激活环境
activate name
取消激活
deactivate
安装指定版本的tensorflow-gpu
pip install tensorflow-gpu== version
卸载已经安装的tensorflow-gpu
pip uninstall tensorflow-gpu-version

安装pycharm并导入虚拟环境

  1. 首先进入jetbrains官网
  2. 在DeveloperTools中找到pycharm
    在这里插入图片描述
  3. 然后根据自己电脑的系统选择合适的版本进行下载(专业版的可以免费试用,也可以去进行学生认证)
    在这里插入图片描述
    4.无特殊说明next,install,finish即可完成安装
    在这一步要全部勾选
    在这里插入图片描述

安装完成后,双击图标进入软件,选择Evaluate for free (也可以去官网上进行学生认证)
在这里插入图片描述
点击new project
在这里插入图片描述
New environment using 选择conda,以及你想要的python版本, 然后create。
在这里插入图片描述

点击File, setting , 找到python interpreter, 点击右边的设置图标,在弹窗中点击Add.

在这里插入图片描述
选择Conda Environmentm, Existing Environment, 在下拉框中选择你要导入的环境,最后点击ok.

在这里插入图片描述
导入成功后,如果下次你运行代码时想要选择某个虚拟环境,先点击"Edit Configuration"

在这里插入图片描述
然后选择你想要的python interpreter,点击ok 就可以啦!
在这里插入图片描述

安装jupyter notebook并导入虚拟环境

  1. 打开Anaconda prompt, 激活虚拟环境activate pytorch (此处以pytorch为例)
  2. 在当前虚拟环境下安装conda install ipykernel
  3. 安装notebook ,键入pip install notebook
  4. 将当前环境写入notebook中python -m ipykernel install --user --name pytorch --display-name pytorch (此处以pytorch为例,如果要导入tf-gpu, 把pytorch 替换成tf-gpu即可)
  5. 打开notebookipython notebook

如果你装错了,先移除再重新安装:
移除写入notebook 的虚拟环境:jupyter kernelspec remove env_name (env_name 改为你要移除的虚拟环境的名称)

这时浏览器会自动打开notebook的界面,点击new, 选择你要使用的虚拟环境。(在使用notebook的过程中,不要关闭打开notebook的命令窗口,否则关闭窗口就相当于关闭了notebook
在这里插入图片描述
切换当前环境为新建立的虚拟环境opencvEnv(在导航栏中点击“kernel","change kernel “,“opencvEnv”) ,然后就可以在你新建的文件夹里写代码了!
当然,写代码的过程中,你也可以切换你需要的虚拟环境: 点击"kernel”,“change kernel”,然后选择就好啦
在这里插入图片描述
下次再打开notebook时,还可以用cmd命令行窗口,切换路径(默认是c盘),然后键入jupyter notebook, 最后按’'Enter"即可
在这里插入图片描述

补充一些notebook一些常用的快捷键:
在这里插入图片描述

检查是否在使用GPU加速

通过运行代码验证

  • 检查pytorch
import torch
a = torch.cuda.is_available()
print(a)

ngpu= 1
# Decide which device we want to run on
device = torch.device("cuda:0" if (torch.cuda.is_available() and ngpu > 0) else "cpu")
print(device)
print(torch.cuda.get_device_name(0))
print(torch.rand(3,3).cuda()) 

在这里插入图片描述
若输出结果分别是True, cuda:0, 显卡的名字

  • 检查tensorflow
    运行下面的代码检查CUDA和GPU是否可用,代表CUDA和GPU可用。
import tensorflow as tf
a = tf.test.is_built_with_cuda()  # 判断CUDA是否可以用
b = tf.test.is_gpu_available(
    cuda_only=False,
    min_cuda_compute_capability=None
)                                  # 判断GPU是否可以用
print(a)
print(b)

输出结果都是True,代表CUDA和GPU可用
在这里插入图片描述

python
import tensorflow as tf
sess = tf.compat.v1.Session(config=tf.compat.v1.ConfigProto(log_device_placement=True))

若包含GPU信息,则使用了GPU。
在这里插入图片描述

通过查看GPU的利用率验证

打开任务管理器,点击“性能 ”,找到你自己英伟达显卡的GPU那一栏,点击一下,可以显示GPU的利用情况,正常情况下你没运行什么程序,GPU利用率什么的都是0,没有波澜,然后你运行代码,会发现GPU利用率开始变化了,以tensorflow的代码为例子。

import tensorflow as tf

with tf.device('/cpu:0'):
    a = tf.constant([1.0, 2.0, 3.0], shape=[3], name='a')
    b = tf.constant([1.0, 2.0, 3.0], shape=[3], name='b')
with tf.device('/gpu:1'):
    c = a + b

# 注意:allow_soft_placement=True表明:计算设备可自行选择,如果没有这个参数,会报错。
# 因为不是所有的操作都可以被放在GPU上,如果强行将无法放在GPU上的操作指定到GPU上,将会报错。
sess = tf.compat.v1.Session(config=tf.compat.v1.ConfigProto(allow_soft_placement=True, log_device_placement=True))
# sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
sess.run(tf.compat.v1.global_variables_initializer())
print(sess.run(c))

在这里插入图片描述

后记

因为之前的电脑总是系统出故障,格式化后配环境配了有三四遍,帮同学也配了几遍,终于买新电脑了,所以又配置了一遍,顺便记录一下配置过程。感觉之前不理解的东西也在这么多此的配置过程中明白了原理,所以安装失败不要怕!大不了卸载再重装,你会更加熟练的~
(希望电脑不要再坏了。。

  • 12
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zyw2002

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值