引言
“工欲善其事,必先利其器”,环境配置是开展Coding的第一步。我用过TensorFlow和Pytorch两种深度学习框架,对比下来更喜欢Pytorch。如果有小伙伴纠结使用哪个框架,我更加推荐Pytorch。本文主要跟大家讲解一下如何搭建Pytorch环境。
1 安装Anaconda
通过Anaconda3,我们可以创建多个不同的Python环境,并且控制Python版本。大家可以直接去Anaconda官网下载,不过建议去Aanconda清华镜像源下载,下载速度更快。我用的是Anaconda3-2020.07版本,一直很正常,没有出现过问题。
具体的安装过程大家可以参考网上的一些博客或者文章,这里我推荐一篇:史上最全最详细的Anaconda安装教程,不过需要注意的是这篇博客后面将默认源改成了清华源,建议大家忽略后面的操作,千万不要更换源,安装完成即可。因为现在很多国内的源都被禁止了,所以换成国内源之后反而会报错。
安装好Anaconda3后,打开终端Anaconda Prompt
此时进入的环境为base环境
但是我们通常不用base环境,会另外创建一个新的Python环境。
2 创建环境
首先大家可以在终端中输入以下指令
conda info -e
它会罗列出我们已经创建好的环境。因为我之前创建过一些环境,所以会全部罗列出来。如果有小伙伴之前没有创建过环境,那么应该只有一个base环境。
接下来,在终端中输入以下指令
conda create -n 环境名 python=版本号
这里我设定的环境名为pytorch1.6,版本号为3.6。环境名其实无所谓,版本号比较关键,它需要与Pytorch的版本对应起来,推荐使用3.6版本,几乎兼容所有版本的Pytorch。接着会提示是否继续执行,输入y即可。
如下图所示,表示环境已经创建完成。
此时,我们再次在终端中输入
conda info -e
它会罗列出我们刚刚创建的新环境pytorch1.6,说明环境的确创建成功啦!
此时我们仍然在base环境中,所以接下来我们需要激活pytorch1.6环境,在终端输入以下指令即可
conda activate 环境名
如下图所示,说明我们已经成功从base环境切换到pytorch1.6环境。
下面我们在环境中输入以下指令,查看当前环境中已经安装了哪些功能包
conda list
可以看到环境创建好后,系统自动会安装一些功能包。关键在于python的版本,这里的版本号为3.6.13,其实就是我们创建环境时设置的版本号。只是我们当时设置的是3.6,系统会自动安装3.6中的最新版,这就是为什么Anaconda可以控制python版本的原因了。
至此我们就已经完成了环境创建过程。
3 安装Pytorch
Pytorch的安装方法有两种,一种是从官网获取下载链接,另一种是下载wheel文件安装。另外Pytorch的版本需要与Python的版本统一,具体的对应关系见pytorch与python版本对应关系。
这里我们安装的是Pytorch版本为1.6,通过查表可以知道Python版本应该大于等于3.6,小于等于3.8。我们在创建环境时设置的Python版本为3.6,显然符合要求。这里我也推荐大家安装3.6或者3.7的Python版本,基本兼容所有的Pytorch版本。
此外,Pytorch还区分CPU版本和GPU版本。如果你的电脑安装了Nvidia显卡的话,建议安装GPU版的Pytorch;如果没有,那么两个版本都可以。对于安装GPU版Pytorch的小伙伴们,还需要安装CUDA和Cudnn才可以使用GPU加速,并且CUDA和Cudnn两者之间存在版本对用关系,CUDA与显卡驱动的版本号也存在对应关系,所以还是挺麻烦的。大家需要先弄清楚自己电脑的配置,然后搜索它们之间具体的对应关系,安装即可。
这里以我自己的电脑为例吧,首先查看显卡驱动的版本号。具体过程如下:
右击此电脑(我的电脑)——>属性——>高级系统设置——>硬件——>设备管理器
进入设备管理器后,点击显示适配器,就可以看到自己的Nvidia显卡,如下图所示
如果发现显卡的图标上有一个感叹号,说明没有安装驱动。双击该显卡,点击驱动程序——>更新驱动程序,就可以安装驱动啦。如果已经安装了驱动,那应该就跟我的显示是差不多的,双击该显卡,点击驱动程序就可看到驱动程序版本号啦。下图方框出就是我的驱动程序版本。
知道驱动版本后,根据CUDA与显卡驱动版本之间的对应关系,如下图所示(我只截取了一部分)
这里我们看驱动版本的后五位数即可,我电脑的版本是419.67。然后看Windows那一列,可以明显看出最高只能支持CUDA10.1的版本。
然后我们就可以去官网下载CUDA了,下载的网址为:Cuda下载。我安装了CUDA10.1和CUDA9.2两个版本,使用时在系统环境变量中切换CUDA版本即可,具体的安装过程这里就不过多介绍了。
安装好CUDA后,还需要安装Cudnn,它需要与CUDA的版本对应,具体的对应关系进入官网就可以看到。下载Cudnn之前需要先注册,注册过程很简单。默认大家已经注册好了,下载网址为:Cudnn下载。进入下载网址后,如下图所示
Cudnn与CUDA之间的对应关系一目了然,下载对应的版本即可。同样,具体的安装过程这里就不过多介绍了,小伙伴们可以直接在网上搜索相关博文或者视频。接下来我们讲解Pytorch安装的两种方法。
法一:从官网获取下载链接。Pytorch的官网下载地址
假设我们安装的是Pytorch1.6的GPU版,并且CUDA版本为10.1,那么选择如下
直接将方框内的指令输入到终端,
conda install pytorch==1.6.0 torchvision==0.7.0 cudatoolkit=10.1 -c pytorch
然后回车等待安装完成。这里安装可能需要一段时间,不过我不太建议大家采用这种方法来安装,推荐大家使用第二种方法。
法二:下载wheel文件安装。Pytorch的wheel文件下载地址
进入wheel文件的下载地址后,大家可以直接查找想要安装的版本,也可以通过快捷键“Ctrl+F“来搜索。我下载的是CUDA10.1-Pytorch1.6-Python3.6版本,如下图所示
这里一定要注意CUDA和Python的版本号。cu101表示CUDA10.1,与自己电脑上的CUDA版本要对应,否则无法使用GPU;cp26表示Python3.6,与自己创建环境时的Python版本号对应;win_arm64表示Windows系统。
下载完Pytorch后还需要下载torchvision,同样也在这个网址。torchvision的版本需要与Pytorch对应起来,对应关系可以直接去Pytorch官网查看(Pytorch官网链接见法一)。进入官网后,找到Pytorch1.6就可以看到对应的torchvision的版本了,如下图所示
所以我们需要下载CUDA10.1-torchvision-Python3.6版本,如下图所示
至此我们就已经完成了Pytorch1.6和torchvision的下载工作,建议将它们放在同一个文件夹下,接下来开始安装。
首先我们进入Anaconda终端,并激活之前创建好的环境,我的环境名是pytorch1.6。激活环境后,可以看到我当前的目录是在C盘下
我们需要将目录切换到下载好的wheel文件夹下,我的是放在F盘,所以首先需要切换磁盘,在终端输入
盘符:
就会切换到F盘,如下图所示
然后通过cd指令切换到对应的文件夹下,利用dir指令查看当前文件夹下所有文件,如下图所示
另外再告诉大家一个小技巧,敲击文件名时可以通过Tab键自动补齐,提高效率。
进入到wheel文件的目录下以后,在终端中输入以下指令,注意双引号内容要与自己的匹配
pip install "torch-1.6.0+cu101-cp36-cp36m-win_amd64.whl"
输入命令后直接回车,开始安装Pytorch1.6。如下图所示,表示已经安装完成了
接下来开始安装torchvision0.7.0,安装步骤与Pytorch一样,在终端中输入以下指令,注意双引号内容要与自己的匹配
pip install "torchvision-0.7.0+cu101-cp36-cp36m-win_amd64.whl"
输入命令后直接回车,开始安装torchvision0.7.0。如下图所示,表示已经安装完成了
至此我们就已经完成了Pytorch1.6GPU版本的安装。这里还是建议大家采用这种方法来安装,从下载到安装整个过程其实都挺快的,关键是下次重新搭建环境时很方便,wheel文件已经下载好了,直接安装即可,采用第一种方法的话还需要重新下载。
最后我们还需要测试一下Pytorch和以及GPU是否可以使用。在终端输入python并回车,进入python编辑器,然后输入
import torch
导入Pytorch包,如果不报错,说明可以正常使用。然后输入
torch.cuda.is_available()
测试GPU是否可以正常使用,如果输出为True,说明没有问题,否则就需要检查是否存在版本不对应问题。所有步骤如下图所示
4 环境导入
环境配置好后还需要将其导入到Python脚本的编辑器中。我使用的Python编辑器是Pycharm,大家可以直接去Pycharm官网下载,下载社区版即可。安装过程比较简单,这里就不过多介绍了。
安装完成后,打开Pycharm,鼠标点击右下角
可能你的跟我的不一样,不过没有关系,接下来点击Add Interpreter
然后点击Conda Environment
接着点击Existing environment
然后点击...
接着找到Anaconda的安装目录,并找到envs文件夹
鼠标点击文件夹左侧”>“图标展开当前文件中所有内容,其实就是我们创建的所有环境。可以看到我们前面创建的pytorch1.6就在里面
点击文件名左侧的">"展开文件夹中所有的内容,找到python.exe,注意一定是python.exe,其它都不是,然后选择它,并点击”OK“,就可加载环境啦,加载过程可能会有点慢,稍等一下。
如下图所示,环境已经成功切换到pytorch1.6
此时,我们就可以在Pycharm中使用Pytorch了,并且如果我们还需要一些其他功能包时,直接进入Anaconda终端或者Pycharm终端通过pip install指令安装需要的功能包即可。我比较喜欢使用Pycharm终端,因为比较方便,这里做一个简单的示例吧。
假如我们需要安装matplotlib功能包,那么先进入Pycharm终端,进入终端方法很简单,点击下方菜单栏中Terminal即可,如下图所示
然后在终端中输入以下指令
pip install matplotlib
输入指令后回车就可以自动安装啦。如下图所示,表示已经安装成功
对于其他功能包的安装过程也是如此。
5 总结
本文主要讲解了如何在Windows系统中配置Pytorch1.6GPU版环境。对于Ubuntu系统,配置过程也大同小异,只是在下载软件或者wheel文件时要注意选择Linux版本即可。