深度学习记录(一):在conda环境下安装PyTorch(CUDA版)

深度学习记录(一):在conda环境下安装PyTorch(CUDA版)

狮子阿儒 Lv4

前言

Pytorch是什么

​ PyTorch 是一种用于构建深度学习模型的功能完备框架,是一种通常用于图像识别和语言处理等应用程序的机器学习。使用 Python 编写,因此对于大多数机器学习开发者而言,学习和使用起来相对简单。PyTorch 的独特之处在于,它完全支持 GPU,并且使用反向模式自动微分技术,因此可以动态修改计算图形。这使其成为快速实验和原型设计的常用选择。

为什么选择Pytorch

  1. Pytorch 有一个充满活力的大型社区,具有优秀的文档和教程。论坛十分活跃,并能给予帮助和支持,官方支持好,更新及时。
  2. 采用 Python 编写,并集成了热门的 Python 库,在安装pytorch时,常用的科学计算库会一并安装,例如用于科学计算的 NumPy、SciPy 和用于将 Python 编译为 C 以提高性能的 Cython。
  3. 对于 Python 开发者来说,学习起来比较容易。Torch语言底层采用C语言,以Lua语言为接口,国内受众较小;而Pytorch是torch的python版本, PyTorch 的语法和用法均符合 Python
  4. 受主要云平台的有力支持。大多云计算厂商的GPU设备都会有自带Pytorch框架选项,项目部署调试变得简单。
  5. 支持 CPU、GPU、并行处理以及分布式训练。pytorch官方支持的计算平台有CPU平台和GPU支持的CUDA平台,这意味着计算工作可以在多个 CPU 和 GPU 核心之间分配,并且可以在多台机器上的多个 GPU 上进行训练。
  6. 相较于Tensorflow,pytorch更加简单易懂,设计追求最少的封装,避免重复造轮子,PyTorch的源码只有TensorFlow的十分之一左右,更少的抽象、更直观的设计使得PyTorch的源码十分易于阅读
  7. 运行速度与灵活性并存。在许多评测中,PyTorch 的速度表现胜过 TensorFlow和Keras 等框架,对于规模较小的项目,pytorch性能要优于tensorflow
  8. 方便快捷的编程。能够用代码快速实现自己的想法,验证实验过程也较为简单

安装PyTorch

配置环境

  • windows
  • conda
  • Nvidia driver

配置过程

安装Nvidia driver驱动程序

​ 由于PyTorch(CUDA版)是基于英伟达显卡CUDA平台的深度学习框架,所以必须要保证电脑的GPU为英伟达Nvidia品牌,其次带有相关驱动程序,这样在使用Pytorch的时候才能利用CUDA并行计算。

​ 首先明确自己电脑的独立显卡是什么型号?通过:搜索——设备管理器——显示适配器 或者 任务管理器——性能——GPU,两种方法都可以看到,图上显示我的电脑是GTX 1050Ti显卡

​ 然后,打开官网NVIDIA GeForce 驱动程序 - N 卡驱动 | NVIDIA ,找到自己型号的显卡驱动程序是哪个,如果嫌麻烦可以直接选择立即下载;如果想自己配置不同版本,就手动搜索。

​ 看下自己电脑有没有Nvidia控制面板,如果没有就在微软商城下载 搜索Nvidia Control Panel,

​ 打开Nvidia控制面板,可以看设备CUDA版本,也可以命令行输入nvidia-smi查看。我电脑显卡驱动支持的CUDA版本为12.1

​ 注意,在后续安装PyTorch的时候会要求CUDA版本为多少多少之类的,所以尽可能地保持显卡驱动最新版本。

​ 例如你显卡驱动Driver显示CUDA版本号为12.1,而安装最新PyTorch的计算平台要求为11.8,这种情况是可以的,因为安装pytorch会自动安装CUDA与cuDNN,安装的11.8版本CUDA便能够被你电脑支持;

​ 但是如果你电脑只支持11.2,那么你就只能找计算平台要求11.2及以下的PyTorch框架安装了,因为11.8超过了你电脑显卡CUDA支持范围。

安装Anaconda

​ 打开Anaconda官网(https://www.anaconda.com/),找到获得额外的安装包。

​ 根据自己电脑的操作系统选择,博主电脑是win,所以本文以windows为主。

​ 下载完成后,打开安装包,进行安装,点击我同意

​ 默认推荐,点击下一步

修改默认安装路径,尽量不要在C盘安装,由于我之前已经安装在D盘了,这次我选择E盘新建Anaconda文件夹;同时注意磁盘空间,不要过小,后续可能安装其他软件包可能还要占一部分空间! 继续点下一步

​ 默认选择的是下述两项,第一项与第三项

​ 第二项Add Anaconda to my PATH environment variable 是指:选择是否将 Anaconda 添加到 PATH 环境变量建议不要将 Anaconda 添加到 PATH 环境变量中,因为这会干扰其他软件。相反,通过从”开始”菜单打开 Anaconda Navigator 或 Anaconda 提示符来使用 Anaconda 软件。

​ 第四项 Clear the package cache upon completion 是指清除包缓存,为了恢复部分磁盘空间,这个可选可不选,默认不选。

​ 由于我电脑已经安装了Anaconda,所以该过程我并没有实际安装,但是上述步骤都是一个样的。最后是下图的Finish.

​ 由于在安装Anaconda时没有添加环境变量,因此需要我们手动配置。

​ 可以使用windows+R,输入SYSDM.CPL打开系统属性,也可以右键我的电脑——找到高级系统设置,打开系统属性。

​ 下图,找到环境变量,进行设置。

​ 如下,对用户变量与系统变量进行编辑。

​ 如果环境变量中下述属性已存在就可以不用再新建了。

​ 用户变量:

​ 系统变量:

​ 最后,我们打开命令行,验证anaconda是否安装成功,如果输入conda出现以下内容,则证明anaconda安装成功,且环境变量配置完毕

通过conda -V可以查看conda版本号,如图可以看到,我的conda版本为22.9

安装PyTorch

​ 安装命令需要去官网获取,打开Pytorch官网 https://pytorch.org/ ,找到如下内容:

​ 这是各版本安装命令汇总,每一项具体意思是

  • Pytorch Build:pytorch的安装版本,这个默认安装Stable(最多测试与支持),目前最稳定的是2.0.0
  • Your OS:你的操作系统
  • Package:包安装方式,给出了conda、pip、LibTorch、Source四种方式,一般选前两种conda或pip,官方推荐是使用anaconda做包管理(可以很方便的切换python版本),并且我们之前已经配置了Anaconda,所以我们选用conda方式
  • language:默认python
  • Compute Platiform:计算平台,这里有CPU版本与CUDA版本,由于CUDA是NVIDIA 发明的一种并行计算平台和编程模型,能够大幅度提升模型训练速度,因而我们选择CUDA安装,同时需要注意根据自己电脑Nvidia显卡所支持的CUDA版本安装选择合适的,
  • Run this Command:运行命令,用于命令行安装

​ 下图便是根据我的实际情况选择好的配置(供参考)

​ 不要着急安装,我的建议是先建个新的虚拟环境来安装PyTorch框架,不要直接在conda中直接安装pytorch,不然卸载的时候比较麻烦。

汇总虚拟环境管理命令

  1. 列出所有已有的虚拟环境conda env listconda info -e
  2. 创建一个新的虚拟环境: conda create -n (虚拟环境名) python=(python的版本)
  3. 激活虚拟环境conda activate (虚拟环境名)
  4. 退出虚拟环境: conda deactivate
  5. 克隆一个虚拟环境: conda create -n (新虚拟环境名) --clone (旧虚拟环境名)
  6. 删除虚拟环境conda remove –n (虚拟环境名) ––all

汇总虚拟环境包管理 命令

  • 🍼 查看已有的包:conda list
  • ☕ 安装虚拟环境的特定包:conda install (包名)
  • 🍸 安装指定版本的包:conda install (包名)=(版本)
  • 🍷 删除虚拟环境中特定包:conda remove (包名)
  • 🍹 更新虚拟环境特定包:conda update (包名)
  • 🥂 搜索虚拟环境中特定包:conda search (包名)

​ 打开命令行,依次输入一下命令

1
2
3
conda env list  #检查自己有哪些虚拟环境
conda create -n dlenv python=3.9 #创建虚拟环境dlenv,指定python版本为3.9
conda activate dlenv #激活虚拟环境dlenv

​ 进入到dlenv虚拟环境,准备安装pytorch。

​ 输入命令:conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia 开始安装!

​ 安装过程不要借助清华镜像等下载软件包,由于软件包来源是官网,官网位于国外,所以安装速度有点慢,可以挂国外VPN或者慢慢等等。安装的所有软件包总共大小约有3-4G。

​ 安装完毕之后,在命令行输入conda list查看安装情况,可以找到这几个,就说明安装成功,注意红色框指:pytorch类型版本为cuda版。

​ 打开编辑器,运行代码

1
2
3
import torch

print(torch.cuda.is_available())

​ 若为True,则说明CUDA版本的PyTorch安装成功!

pytorch安装问题

​ 可能很多人在官网复制完命令,并在虚拟环境运行命令、安装完成后,执行torch.cuda.is_available()代码发现结果为False,这说明CUDA版本PyTorch安装失败

​ 但是实际安装过程发现并未出错,运行流畅,检查conda list会发现安装的是CPU版本的PyTorch

我明明执行的是CUDA版的运行命令,但为什么会安装CPU版的呢?

实际上,官网给出的命令所下载的软件包来源于网址https://download.pytorch.org/whl/torch_stable.html, 该网站中包含了所有各版本的PyTorch,如果你所安装CUDA版本的PyTorch未在该网站中,conda会自动安装为虚拟环境安装CPU版本的PyTorch

举个例子:

如果你的Python版本为3.7(我当时第一次安装时虚拟环境的python版本)

你执行这条命令**conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia**,到最后会发现安装的是CPU版本。

​ 看一下这个文件**cpu/torch-2.0.0%2Bcpu-cp310-cp310-win_amd64.whl**的名称,

  • cpu指的是 cpu版本的pytorch文件
  • torch -2.0.0 指的是软件包名称与版本
  • cp310指的是 支持的python版本为3.10
  • win指的是 操作系统windows环境

​ 根据如此规律,我们找到conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia CUDA11.8版本对应的各类软件包。如下图:

​ 图中可以看出,CUDA11.8版本所支持的python版本为3.8、3.9、3.10、3.11,我第一次安装时python版本为3.7,由于网站中没有该环境的pytorch包,conda便自动安装了CPU版本的(小东西挺会自作主张的😅),后来卸载了虚拟环境,换了python3.9就没问题了。

​ 最后运行代码测试,结果为True

1
2
3
import torch

print(torch.cuda.is_available())
  • 标题: 深度学习记录(一):在conda环境下安装PyTorch(CUDA版)
  • 作者: 狮子阿儒
  • 创建于 : 2023-04-24 14:43:45
  • 更新于 : 2024-03-03 21:31:00
  • 链接: https://c200108.github.io/blog/2023/04/24/深度学习记录(一):在conda环境下安装PyTorch(CUDA版)/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论