Po1o's Mind Palace

日月升落,总有黎明 --杨绛

0%

【环境配置】windows+anaconda配置pytorch+gpu环境

说点什么

​ 为什么要自己写一篇环境配置的博客呢?前些日子系统坏了需要重装系统,再次配置环境的时候又要在网上搜索参差不齐的系统安装博客,很麻烦。

​ 没错,怕麻烦,所以自己总结。

​ 本片文章没有赘述如何安装anaconda和python,记录了安装GPU相关工具包时的一些思考和具体安装方法。

安装Cuda和cudnn

CUDA

什么是CUDA

​ 2006年,NVIDIA公司发布了CUDA(Compute Unified Device Architecture),是一种新的操作GPU计算的硬件和软件架构,是建立在NVIDIA的GPUs上的一个通用并行计算平台和编程模型,它提供了GPU编程的简易接口,基于CUDA编程可以构建基于GPU计算的应用程序,利用GPUs的并行计算引擎来更加高效地解决比较复杂的计算难题。它将GPU视作一个数据并行计算设备,而且无需把这些计算映射到图形API。操作系统的多任务机制可以同时管理CUDA访问GPU和图形程序的运行库,其计算特性支持利用CUDA直观地编写GPU核心程序。

我自己的理解:CUDA类似于驱动,是用户对显卡编程的接口,安装了它就能使用你的GPU进行编程了。就像操控电机需要设计驱动模块来调整电平,否则单片机不能直接控制。

​ 我们想增加神经网络的训练速度,当然想尽可能的提高自己电脑的算力,如果用CPU版本的话,你的显卡(GPU)就在发呆,摆烂怎么可以呢!所以我们安装CUDN,配合pytorch的GPU版本进行网络训练。

下载安装合适版本的CUDA

1、查看你的电脑显卡支持的CUDA版本

​ 方法一:通过N卡控制面板

​ ①右键右下角nvidia面板进入N卡控制面板

image-20220416161928461

​ ②点击左下角的系统信息

image-20220416162025389

​ ③选择“组件”,可以看到自己的CUDA版本。博主RTX2060的显卡搭配的CUDA版本是11.2

image-20220416162105616

​ 方法二:cmd命令行输入 nvidia-smi

image-20220416162316611

2、下载CUDA

​ ①进入[CUDA官网](CUDA Toolkit Archive | NVIDIA Developer)查看自己的版本下载安装软件,并且安装(无需修改路径,环境的东西就塞在C盘)

image-20220416162621413

image-20220416162737991

image-20220416162932165

选择自定义,下一步

image-20220416163209499

如下图,下一步

image-20220416163222305

查看箭头所指这一项,如果新版本比当前版本更旧,则取消勾选,反之勾上,下一步

image-20220416163310459

不修改位置,就放在C盘,下一步

image-20220416163403965

安装结束之后在CMD中输入nvcc -V,输出如下信息则为成功:

image-20220416163648581

Cudnn

什么是Cudnn

​ CUDNN(CUDA Deep Neural Network library):是NVIDIA打造的针对深度神经网络的加速库,是一个用于深层神经网络的GPU加速库。如果你要用GPU训练模型,cuDNN不是必须的,但是一般会采用这个加速库。

​ 我的理解:就是在CUDA“软件驱动”上增加更多工具,类似于python库内增加多几个函数供用户使用

下载安装正确版本的Cudnn

​ 进入Cudnn官方下载链接,我这里选择匹配我CUDA11.2版本的Cudnn

image-20220416164205958

​ 解压cudnn-11.2-windows-x64-v8.1.1.33.zip压缩包,将压缩包内的三个文件夹复制,粘贴到C:\Program Files\NVIDIA GPU Toolkit\CUDA\v11.2 中,出现是否替换的提示选择替换即可。

image-20220417203906152

image-20220417203941786

​ 随后打开系统环境变量,编辑Path变量,将如下路径添加到环境变量中

​ C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\libnvvp

​ C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\bin

​ C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\include

image-20220417204304640

​ 重启生效,完成安装。

安装Pytorch

​ 进入pytorch[官方网站](Start Locally | PyTorch),选择比自己CUDA版本低的安装,这里假设选择11.3,复制下面生成的conda命令。

image-20220417204557907

​ 打开anaconda prompt命令行窗口,如下所示,路径前括号内代表当前所处的anaconda建立的环境,默认是base。初次登陆conda的话先换源,否则下载的库会很慢。

1
2
3
4
5
6
7
8
9
# 清华源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes # 设置搜索时显示通道地址

# or 中科大源
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes

​ 换源之后,新建conda环境,随后按y表示同意下载。

1
2
conda create -n 环境名 python=x.x
例: conda create -n pytorch python=3.8

​ 激活刚才新建的环境

1
2
conda activate 环境名
例:conda activate pytorch

​ 将刚才在官网复制的conda命令粘贴运行即可,输入y之后开始下载。没换源的话下载很慢。下载完毕后,输入以下指令即可查看已安装的包

1
conda list

image-20220417210241098

​ 完成配置,在pycharm上就可以使用已经配置好的conda环境。

conda指令集合

1
2
3
4
5
6
7
8
9
10
11
12
13
# 环境指令
列出所有环境 conda info --envs
检查环境中python版本 python --version
新建环境 conda create -n 环境名 python=3.7
激活环境 source activate 环境名
复制环境 conda create -n 新环境名 --clone 旧环境名
删除环境 conda remove -n 环境名 --all
# 包指令
查看已安装包 conda list
移除包 conda remove -n 环境名 安装包名
移除当前环境中的包 conda remove package_name
更新包(某个) conda update package_name
更新包(全部) conda update --all

没有11.2CUDA版本的pytorch该怎么办

​ 博主是11.2CUDA版本,但是不想装适配10.2CUDA的pytorch,于是查询离线安装网站找到了11.1CUDA版本的pytorch,下载好whl文件后在anaconda prompt内cd到对应安装路径安装即可。

1
pip install 文件名

image-20220417211046410

​ 从pytorch[官方](pytorch/vision: Datasets, Transforms and Models specific to Computer Vision (github.com))给出的适配版本中可以看出,torch版本和torchvision之间有要求,根据自己要求选择即可。

image-20220417211319914

2022.7.13更新

今天在conda prompt内用命令更新了anaconda,结果导致缺少conda文件而不能使用conda命令,报错为:

AttributeError:module ’ruamel_yaml’ has no attribute ‘representer’

网上搜了一通发现,重装anaconda也许是最省时的方法。于是重装了…

现在conda版本是:

1
2
(base) C:\Users\XXXXX>conda --version
conda 4.12.0
-------------本文结束感谢您的阅读-------------
钱乃身外之物,开心无价。