本文旨在介绍用conda配置一个新的深度学习环境的全过程。
在 官网 中下载与python版本匹配的Anaconda, Python与Anaconda版本匹配如下(图片源自 该博客 ):
在本例中我下载的 Anaconda3-2020.11-Linux-x86_64.sh
bash Anaconda3-2020.11-Linux-x86_64.sh
显示如下界面
一直按回车直到出现以下界面,输入yes
开始安装,安装完成后,显示如下信息:
vim ~/.bashrc
进入vim界面,按i进入编辑模式,输入
export PATH="/home/anaconda3/bin:$PATH"
保存退出后,刷新配置环境,查看是否配置成功
. ~/.bashrc
conda --version
显示如下
conda 4.9.2
配置成功。
conda info --envs
显示结果:
# conda environments:
#
base * /home/zmq/anaconda3
myenv /home/zmq/anaconda3/envs/myenv
其中 * 表示当前正在使用的环境。
创建一个名为myenv的环境,该环境的python版本为3.7
conda create -n myenv python=3.7
比如想切换到myenv环境,则输入
conda activate myenv
此指令没有结果输出。然后再查询所有环境:
conda info --envs
可得:
# conda environments:
#
base /home/zmq/anaconda3
myenv * /home/zmq/anaconda3/envs/myenv
可以发现星号已转移到myenv,即当前激活的环境为myenv。
注意,在centos环境中直接这样使用可能会报错:
CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.
此时需要重新刷新环境,分别执行以下另个指令
# 激活 anaconda 环境
source activate
# 退出 anaconda 环境
source deactivate
然后再进行
conda activate myenv
即可。
创建并激活一个新的环境后,为了安装pytorch,我们需要先配置 合适版本 的cudatoolkit (简称为cuda)和 cudnn。
首先是查看GPU支持的最高的 CUDA 版本, 输入指令
nvidia-smi
得到下图:
如图所示,是10.2版本。
然后打开pytorch官网,查看目前常用的版本如下:
从官网可知1.10.2版本的pytorch对应的 CUDA 版本可以是10.2 和 11.3,那么就还差与之匹配的 cudnn 版本。因为我用的机器最高支持10.2版本,因此这里也以 CUDA 10.2 举例。
直接在控制台查询:
conda search cudnn --info
可以看到很多以下信息:
从中找到与 cuda 10.2 匹配的信息:
可知与 cuda 10.2_0 对应的版本是 cudnn 7.6.5,得到匹配的版本后,就可以直接在新环境下载 cuda 10.2 和 cudnn 7.6.5。
conda install cudatoolkit=10.2
conda install cudnn
全部安装成功后,输入pytorch官网中给出的指令:
conda install pytorch torchvision torchaudio cudatoolkit=10.2 -c pytorch
下载完成后,进入python验证是否成功安装pytorch:
成功引用,没有报错。
创建一个新的虚拟环境安装 pytorch 会出现 Found conflicts! Looking for incompatible packages. 这种不兼容的错误。这时我们可以借助其他包的安装来自适应地下载pytorch,比如:
conda install -c gpytorch gpytorch
这样就能避免版本错误的问题。
当我们跑别人代码时,需要配置他们在setup.py中的环境,此时直接新建一个conda环境,注意要与其setup.py中的python版本一致
conda -n myenv python=3.8
conda activate myenv
然后进入与setup.py的同目录下
cd Name-main
分别执行以下命令:
python setup.py build
python setup.py install
然后等待安装完成即可。