前言

本篇博客主要是帮助读者搭建windows下深度学习的环境。

简介

windows下深度学习的环境搭建主要包括五个部分,分别是显卡驱动,cuda,cudnn,anaconda 和pytorch。

显卡驱动

想要搭建深度学习的环境,首先是需要一张显卡(虽然也可用CPU来做训练卡,但是CPU没有为深度学习做优化加速,训练性能远不如GPU)。一般来说Nvida显卡更加普及一些,所以就以Nvida显卡为例。如果电脑里已经安装了显卡驱动(一般都已经装好了),可以进行第二步cuda安装。

如何确定是否有显卡驱动呢?非常简单,同事按下WI+X键,再按下M键,或者在电脑左下角搜索框输入设备管理器,打开设备管理器点击显示适配器,如下图所示
设备管理器
图上显示的NVIDIA GeForce GTX 1660 Ti就是你的显卡,点击右键选择属性,再点击驱动程序一栏,如果可以打开,并显示了版本号,则说明显卡驱动已经安装完成,请移步第二步。

如果打不开或者无法显示则需要安装显卡驱动。可以进入NVIDA官网下载最新的驱动,在下图中输入你的相关信息,然后开始搜索驱动,选择一个驱动版本进行下载并安装。

CUDA

CUDA(Compute Unified Device Architecture),是显卡厂商NVIDIA推出的运算平台。 CUDA是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。CUDA给人工智能提供了很好的计算支持。

在下载cuda之前有一件事必须明确下来,否则后续的安装可能就不那么顺利了。驱动程序版本,CUDA版本,pytorch版本,python版本必须要相互适配。

首先CUDA要和驱动程序版本匹配,匹配表可以通过官方的CUDA Toolkit版本和显卡驱动对应的表格来查看,网址为:https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html#id5

驱动版本可通过右下角驱动信息来查看,右键点击Nvida图标,选择Nvida控制面板。

在控制面板中点击系统信息,就可以查看到驱动程序版本(需要记住)。

你的显卡驱动版本号必须大于等于表格中的版本号你才可以安装该版本的CUDA,我这里要安装的是CUDA 11.1 GA,而我的驱动号是457.49>=456.38,因此可以安装。

此时最好去确定11.1 版本所适配的的pytroch和Python版本了,提前确认一下以防对应版本没有(一般来说是有的)。pytorch版本和cuda版本适配可以在pytorch官网查看。进入官网可以点击previous versions of pytorch 查看。

点击previous versions of pytorch,搜索CUDA 11.1 查看对应的所有可支持的版本。需要注意的是,这里有conda和wheel两种安装方式,笔者这里选择的是pytroch1.8.0的conda安装方式,如下图所示。

最后就是确定一下pytorch1.8.0所需要的python版本,这可以在网上搜一下。

可以看出可选的python版本为3.8和3.9,那么至此版本都选定了。

版本
驱动 457.49
Cuda toolkit 11.1 GA
pytorch 1.8.0
python 3.9

下面可以依次下载。进入CUDA下载界面CUDA Toolkit Archive 选择cuda11.1


然后进入以下界面,选择windows,x86平台,版本10,和local安装,点击右下角下载。

下载完成可以进行安装,可精简安装,也可以自定义安装,需要记住安装地址,安装完成后,打开系统环境变量,发现多了两个变量,CUDA_PATH和CUDA_PATH_V11_1。

打开cmd,输入nvcc -V,查看安装的cuda版本。

cuDNN

进入,选择cuda11.1 对应的cuDNN版本进行下载,其实是一个压缩包,解压缩之后将lib,include,lib三个文件夹,复制到cuda文件夹下v11.1文件中


至此cuDNN安装完成

Anaconda

Anaconda是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。因为包含了大量的科学包,Anaconda 的下载文件比较大(约 531 MB),如果只需要某些包,或者需要节省带宽或存储空间,也可以使用Miniconda这个较小的发行版(仅包含conda和 Python)。

进入anaconda下载界面。下载完成后,进行安装,建议安装至非c盘,因为后续环境会下载很多安装包,这里要注意。安装过程中,add anaconda3 to my path environment variable 这个勾选的话,就可以直接在cmd用conda命令,但可能会影响其他软件;不勾选的话,可以在开始菜单中打开Anaconda Navigator或Anaconda Prompt,然后在里面用conda等命令。

然后打开annconda。

这是一个和命令行很像的东西。

Conda 是一个开源的软件包管理系统和环境管理系统,用于安装多个版本的软件包及其依赖关系,并在它们之间轻松切换。

环境就像是一个工具仓库,当我们做一个项目时会用到很多python的软件包,做另外一个项目时会用到其他的软件包或者是不同版本的软件包,如果把所有软件包都安装在主环境下的话,包与包之间可能会冲突,就好像汽油和火把不能放在同一个仓库里。而这里的base指的是主环境,也就是主仓库,这里我们新建一个虚拟环境,分仓库,用来存放搭建深度学习的所需要的环境。指令为

1
conda create -n torch18_py39 python=3.9

其中torch18_py39是环境名,python=3.9是之前我们选择的python版本。接下来会提供一些基础的软件包,输入y确认安装。然后输入

1
conda activate torch18_py39

就进入到了我们新创建的虚拟环境

可以看到前面base已经变成torch18_py39了,这样我们就从主环境切换到了新的环境了。

至此,anaconda也完成安装了。

pytroch

终于来到最后一步,pytroch安装。在cuda安装的那一节里,我们已经选了pytroch 1.8.0版本。

首先打开anaconda prompt,进入上一节创建好的torch18_py39虚拟环境。进入pytroch网站,选好版本(pytorch 1.8.0) 复制下面的指令到anaconda的命令行中,回车确认。

1
conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 cudatoolkit=11.1 -c pytorch -c conda-forge

有一些小伙伴可能会读取失败或者在安装过程中卡在某个地方不动了,这是因为anaconda是国外源,我们可以将anaconda的channel切换到清华源或者其他的一些国内源。具体的切换方法为:

1
2
3
4
5
6
7
8
9
在anaconda 命令行中分别输入以下命令
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 --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo/
conda config --set show_channel_urls yes

然后再下载,下载过程出现的问题可以自行百度。

pytorch 安装完成后,在anaconda 命令行界面,输入

1
2
3
python
import torch
print(torch.cuda.is_available())

结果返回True说明安装完成,可以开始炼丹了。

结语

这篇安装教程是主要参考这篇文章所写Windows环境下pytorch深度学习环境搭建,并增加了一点细节。