Windows下Miniconda+Pytorch+Pycharm开发环境搭建指南
给本科生写的新手教程,遇到很多新手的共性问题,可供大家参考。在开始阅读之前,请注意两个要关键:1.为什么要使用Conda而不在本地直接安装Python,体会Conda带来的区别和优势。2.明确CUDA版本和torch-gpu版的兼容情况。
1. Conda介绍与安装
1.1 Conda简介
Conda是一个开源的软件包管理系统和环境管理系统,用于安装多个版本的软件包及其依赖关系,并在它们之间轻松切换。是最流行的Python环境管理工具。
1.2 为什么要使用Conda?
考虑下图的场景,三个项目,使用了三种不同的Python和依赖包(特别是在做深度学习相关研究的场景下,需要复现其他论文的代码工作进行对比试验,不同版本的库很可能存在许多冲突),如果你在本地直接安装Python,会产生冲突。难道我们要先创建项目A的环境运行项目A,然后卸载该A环境再创建项目B的环境运行项目B…
但是如果使用Conda,就可以通过Conda,在本地同时创建多个Python环境,并在它们之间轻松切换,每个环境都是独立的,不会影响其他环境。
1.3 Anaconda vs. Miniconda
是Conda的两种发行版,Anaconda比较繁杂笨重,miniconda比较干净轻量。
Anaconda是一个打包的集合,里面预装好了conda、某个版本的python、众多packages、科学计算工具等等,就是把很多常用的不常用的库都给你装好了。
Miniconda,顾名思义,它只包含最基本的内容—python与conda,以及相关的必须依赖项,对于空间要求严格的用户,Miniconda是一种选择。就只包含最基本的东西,其他的库得自己装。
建议使用Miniconda,已装了Anaconda的同学可以无视。
1.4 Windows下Miniconda安装与配置
本地直接安装的Python的同学,如果想换Miniconda,直接把本地的Python直接卸载,如卸载,记得将原本配置的Python环境变量删除,否则系统会默认原来的路径,执行某些命令产生错误。
过程
- 从Miniconda官网下载安装包,如图所示,该选项会默认安装一个对应Python版本作为base环境;
- 一路Next和Agree,直到让你Select Installation Type,
- 这时候建议选择Just Me,对于有多个硬盘的同学,如果选择All User,后面创建环境会默认创建到C盘,
即出现如下情况(pytorch环境装到了C盘,我们大多数人不希望把它装到系统盘);
-
选择你想要安装的目标路径(我这个演示电脑只有一个C盘),然后继续Next;
-
建议只勾选✔第一个和第三个(创建快捷方式;我们自己添加环境变量以避免带来一系列未知冲突;将base环境的python设置为本机的默认Python;
-
可以都不用勾选;
-
配置环境变量。在系统环境变量的PATH变量中,根据你在本地安装Miniconda的路径,添加如下三个环境变量:
- 理论上已经安装成功。
验证
- 打开cmd终端命令提示符,直接输入命令:conda,出现如下信息即表示安装成功;
-
直接输入命令:python,进入python解释器,会显示默认的base环境的Python版本相关信息。
1.5 Conda基本使用
-
初始化,第一次在本机安装Conda的同学可能会遇到如下问题:
You may need to close and restart your shell after running ‘conda init’.
此时,输入如下命令执行,然后关闭终端命令行窗口重新打开即可。
conda init cmd.exe
-
创建环境:py39test是环境名,请自行定义,python=3.9表示在本环境中安装Python3.9,根据自己的需求自行更改。
conda create -n py39test python=3.9
-
激活环境(即进入某个环境),进入该环境后才能对该环境进行操作。
conda activate py39test
-
退出环境
conda deactivate
-
删除环境,指定环境名进行删除。
conda remove -n py39test --all
-
查看环境
conda env list
可见当前conda中存在base和py39test两个环境
-
进入某一环境后,在当前环境安装其他库与使用pip相似,如:
conda install pandas
当然,也可以在当前环境直接使用pip进行安装,二者一般被认为是几乎相同的。conda存储库中提供了1500 多个包,但与PyPI上提供的超过150000个软件包相比,它仍然很小,因此,很多时候所需要安装的包只能通过pip安装。
-
更换下载源
这一步做不做都行。因为conda默认使用官方源进行下载,速度会相对慢,特别是像Pytorch这样很大的包,可以更换成国内源加速下载,如清华镜像源。
- Windows 用户无法直接创建名为
.condarc
的文件,可先执行conda config --set show_channel_urls yes
生成该文件之后再修改。该文件自动生成在C盘-用户-用户名下。
-
打开.condarc文件后,将内容重置为(注意格式):
show_channel_urls: true channels: - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ - http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/ - http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/ ssl_verify: true
-
然后运行
conda clean -i
清除索引缓存,保证用的是镜像站提供的索引。 -
后续如果要使用清华源进行下载,需要将命令最后的’-c pytorch’参数去掉。
- Windows 用户无法直接创建名为
-
更多conda命令请自行百度。
1.6 Pycharm集成Conda
在Pycharm中如何使用Conda环境的Python解释器呢?
- 打开项目,点击File->Settings,搜索找到Python Interpreter,在右侧点击Add Local Interpreter…如图所示:
- 选择Conda Environment,将Conda executable的路径设置为MinicondaScripts下的conda.exe文件的路径,然后点击右侧的Load Environments,加载Conda环境列表。(注意不要选择Virtualenv Environment,会自己创建Pycharm自带的虚拟环境)
- 注意,点击Use existing environment,选择一个现有的Python环境作为当前项目的运行环境,Miniconda3即为base环境,但是也不建议直接使用base环境,这里我选择py39test。点击OK,成功,可以自行运行代码测试一下。
- 这里如果没找到,请在interpreter那一行,右边有个三点,自行找到你安装的虚拟环境路径,添加该环境下的python解释器。
Conda自带的默认的base环境的解释器就在安装Conda的根目录下:
其余环境在envs文件夹下;
进入某个环境文件下,选择该解释器的路径,即可在Pycharm中使用该虚拟环境。
如图所示:
2. Pytorch安装
2.1 Pytorch简介
一个当前学术界最流行的简洁、快速、高效、易用、生态丰富的开源深度学习框架,基于Python,支持GPU加速计算。
2.2 Conda安装Pytorch
- 注意,安装之前,请先明确你要在哪个环境下安装Pytorch,先激活(conda activate xxx)进入该环境,才能在该环境下安装该库,否则,会默认安装在base环境下。(打个比方,每个环境就像一个独立的房间,对其他房间不会有任何影响,你要先进入房间,才能对该房间进行任何操作,并且你的这些操作就不会影响其他房间。)
- 激活进入py38test环境,在该环境安装pytorch,不会影响到其他环境。
- 激活以后,终端命令行左边就会带(当前环境名),如下图所示,我已进入本机conda的py38test环境下:
打开Pytorch官网,根据需要PyTorch版本、你的操作系统、Conda/Pip(没有Conda的直接使用pip)、语言、计算平台选择指令,官网页面只提供最新的版本安装指令。
点击Install previous versions of PyTorch可以查看过去已发布的Pytorch版本安装指令(建议到这里面找,)。
- 注意,官网提供的最新的pytorch1.13版本的安装指令有个小错误:
conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.6 -c pytorch -nvidia
最后的’-nvidia前面少了个-c’,更改为
conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.6 -c pytorch -c -nvidia
此外,Python和Pytorch版本存在对应关系,具体可以查看:torch/torchvision/python版本对应关系。根据下图,建议不使用过高或者过低的Python版本,就可以兼容大多数Pytorch版本。
2.2.1 CPU版本安装:
本机没有NVIDIA独立显卡的同学只能安装CPU版,必须是NVIDIA,而且是独显,集成显卡也不行。
命令:
conda install pytorch torchvision torchaudio cpuonly -c pytorch
- 使用清华源的同学,就要去掉最后的’-c pytorch’才能从清华源下载,该参数表示从pytorch官网下载。
- 此外,该命令默认同时安装最新的pytorch和torchvision、torchaudio,大家可以根据自己的需求指定版本(应该是指定pytorch版本即可,torchvision和torchaudio都依赖pytorch,且存在版本依赖,会自动安装当前pytorch支持的最高版本)。
再如,我们指定pytorch版本为1.9.0,torchvision为0.10.0,不安装torchaudio:
conda install pytorch==1.9.0 torchvision==0.10.0 cpuonly -c pytorch
2.2.2 GPU版本安装
安装GPU版的Pytorch,首先需要有NVIDIA独立显卡和CUDA驱动,驱动一般都装好了(没有自行百度),然后需要安装CudaToolKit。NVIDIA CUDA Toolkit是一个专业的CUDA工具包,为用户提供了专业的开发环境,创建经GPU加速的高性能应用。(大概意思就是有CUDA Toolkit你才能使用GPU加速神经网络。)
(1)确定本机的独立显卡、CUDA驱动版本和CUDA版本
打开终端cmd,命令:
nvidia-smi
(2)确定本机的CUDA支持的torch-gpu版本和CUDA Toolkit版本
原则:驱动是向下兼容的,其决定了可安装的CUDA Toolkit的最高版本。官方推荐的cuda版本为10.2和11.3,这两种 cuda 支持大多数的 pytorch 版本。但是,请注意,有些同学的显卡比较老了,如果是CUDA是10.2,最高只能支持到torch-gpu的1.10.0版本,也就是说CUDA10.2安装不了torch-1.10.0以上的GPU版本,但是CPU版本可以,只要你的python版本符合要求。
- 具体可以参考这篇文章:PyTorch、CUDA Toolkit 及显卡驱动版本对应关系
例如,我的NVIDIA驱动版本是516.59,根据下图,我可以装的CUDA Tookit的最高版本是11.7,并且向下兼容可以安装10.1~11.7的全部版本。
- 这时候如果我想安装Pytorch1.12.1的话,根据官网提供的命令,可以是:
# CUDA 11.3
conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.3 -c pytorch
也可以是:
# CUDA 11.6
conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.6 -c pytorch -c conda-forge
2.3 本地Python直接安装
这一步是针对不安装Conda的同学的。
-
CPU版直接使用pip命令安装对应版本;
-
GPU版根据CUDA驱动版本,直接pip安装,和conda其实是异曲同工的,一般是在安装时加上’torch==xxx+cuxxx’这样的参数,具体请查看官网命令。文章来源:https://www.toymoban.com/news/detail-769049.html
如:(显然,如果你进入conda环境后,也可以使用下列命令安装torch-gpu版,因为我们在前面说过,conda环境下使用conda install和pip install是基本一样的,只是拉取这些库的源不同,请仔细体会conda的作用。)文章来源地址https://www.toymoban.com/news/detail-769049.html
# CUDA 11.6
pip install torch==1.12.0+cu116 torchvision==0.13.0+cu116 torchaudio==0.12.0 --extra-index-url https://download.pytorch.org/whl/cu116
# CUDA 11.3
pip install torch==1.12.0+cu113 torchvision==0.13.0+cu113 torchaudio==0.12.0 --extra-index-url https://download.pytorch.org/whl/cu113
# CUDA 10.2
pip install torch==1.12.0+cu102 torchvision==0.13.0+cu102 torchaudio==0.12.0 --extra-index-url https://download.pytorch.org/whl/cu102
# CPU only
pip install torch==1.12.0+cpu torchvision==0.13.0+cpu torchaudio==0.12.0 --extra-index-url https://download.pytorch.org/whl/cpu
2.4 验证
import torch
print(torch.cuda.is_available())
# 如果成功安装了CPU版本,会输出False
# 如果成功安装了GPU版本,会输出True,集成显卡也会输出True,但是用不了。
# 没有报错即安装成功。
到了这里,关于【教程】Windows下Miniconda+Pytorch+Pycharm开发环境搭建指南的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!