1.2 环境配置之Anaconda
工欲善其事必先利其器,想要使用PyTorch进行模型开发,必须要搭建好开发环境。听到环境安装,大家是否已经心生恐惧?是否都被某些不知名的报错卡住好几天,网上搜不到答案,各种文章的方案都不适用? 为了解决大家环境安装的苦恼,本章将从Python虚拟环境、Anaconda、Pycharm、CUDA、CuDNN的背景说起,给大家构建系统的认识,理清各软件之间的关系,为大家呈现一个清晰的、完整的开发环境配置。
1.1节中提到过,PyTorch是基于Python为接口提供给用户使用,因此Python语言是我们的核心,PyTorch对于Python只是一个工具包(library),通过import torch的方式使用而已。因此想要搭建完整的PyTorch开发环境,其实是搭建完整的Python开发环境,同时安装上PyTorch这个工具库。
虚拟环境
为了使用PyTorch,先搞定Python环境安装。提到Python环境,就不得不讲python虚拟环境(virtual environment)的概念了。python虚拟环境是为了解决众多的工具包之间版本冲突而设计的一个纯净开发环境,简单地可创建多个虚拟环境,不同的环境中使用不同的工具包,例如虚拟环境1中安装pytorch 1.6, 虚拟环境2中安装的是pytorch0.4,当需要用老版本pytorch时,切换到虚拟环境2,然后调用虚拟环境2中的解释器——python.exe 运行你的.py代码。当需要用pytorch1.6时,就切换到虚拟环境1,调用虚拟环境1中的python.exe运行代码。这样就很好的解决工具包版本冲突问题。
解释器
这里提到一个概念,解释器——python.exe。 解释器,就是人类与CPU之间的桥梁,人写的高级语言,如print("Hello World"),CPU是读不懂的,CPU只能读0/1形式的二进制文件,这时就需要一个翻译官——python.exe, python.exe读取.py文件,解释成二进制文件,让CPU读懂,并运行。这就是解释器的作用,更直观的例子,python3的解释器是无法翻译python2语法的语句print "Hello World"的,因此不同的python.exe其实就对应了不同的环境。
Anaconda
Anaconda是为方便使用Python而建立的一个软件包,包含常用的250多个工具包,多版本Python解释器和强大的虚拟环境管理工具,所以Anaconda被称为Python全家桶。Anaconda可以使安装、运行和升级环境变得更简单,因此使用它作为Python虚拟环境管理工具。
安装非常简单,首先进入 anaconda官网,点击“Get Started”, 点击”download anaconda installers“,看到如下图所示的信息,选择你对应的操作系统下载,安装即可。
安装完毕,可以尝试创建一个虚拟环境,这里需要注意创建环境的时候就要决定Python的版本,而pytorch的安装对python的版本有要求,所以大家先到pytorch官网看看要装的pytorch版本所支持的python版本,然后再回来创建虚拟环境。这里演示pytorch最新版本1.10的安装。由于1.10是支持python3.6/3.7/3.9的(通过1.1介绍过的神奇网站找到信息),在这里用python3.6作为python版本进行创建虚拟环境。
>>> conda create -n pytorch-1.10-gpu python=3.6
这里的pytorch-1.10-gpu就是虚拟环境的名称,激活(activate)时的标识,同时也会在anaconda安装目录下创建pytorch-1.10-gpu的文件夹,在该文件夹存放本环境所有工具包、解释器,如下图所示:
虚拟环境创建好之后,可以看看这个文件夹里都有些什么,先来看解释器:
D:\Anaconda_data\envs\pytorch_1.10_gpu\python.exe ,大家可以双击它,就可以看到解释器的相关信息,后续用到pytorch_1.10_gpu这个环境的时候,也是用这个.exe进行运行.py文件,后面用pycharm运行代码的时候会给大家展示。
到此,一个纯净的虚拟环境就创建好了,接下来需要激活(activate)这个环境,然后再里面进行各种工具包的安装。这里先暂停一下,先去看另外一个工具——Pycharm的安装及使用。
anaconda常用命令
创建环境:conda create -n your_env_name python=X.X (X.X为python版本)
eg: conda create -n pytorch_tutorial python=3.7
激活环境:source activate your_env_name
eg: source activate pytorch_tutorial
退出环境:source deactivate
删除环境:conda remove -n your_env_name –all
eg: conda remove -n pytorch_tutorial --all
查看已有虚拟环境:conda env list / conda info -e
(推荐大家自行了解更多anaconda命令)
有了anaconda帮助我们管理虚拟环境以及python工具包,接下来就可以安装IDE,用来管理项目了。请看Pycharm安装