通常,不同的深度学习论文其所使用的pytorch/tensorflow以及一些库的版本会不一样。而当我们需要在一台机子上跑这些代码的时候,就需要使用工具来创建不同的深度学习环境。这样的工具包括conda、docker等,它们可以创建并隔离管理不同的虚拟环境。下面详细介绍一下使用conda来创建并配置一个全新的虚拟环境的步骤(默认已经安装并配置好anaconda了,没有的话,去下一个吧),以安装python3.6.4,pytorch0.4.0,torchvision0.2.1为例。
需要明确的一点是,在不同的conda虚拟环境下,pip也是隔离的,所以在某个虚拟环境下既可以使用conda来安装各种包,也可以使用pip安装各种包,安装的包都是只属于该虚拟环境的,不会对其他的虚拟环境造成影响。下面的介绍都是使用pip命令来进行包安装的。
1 创建虚拟环境
创建一个全新的虚拟环境的命令如下:
conda create -n '环境名' python='版本号' #环境名可以自己任意指定
这里以创建一个python版本为3.6.4的环境为例,将创建的这个虚拟环境命名为py364:
conda create -n py364 python=3.6.4
执行完上述命令后,会输出一个确认信息,是一些预安装的基础库及其版本信息,如下图所示,直接按回车键默认选y即可。
下面是四个常用的conda命令:
conda info -e #查询已经创建好的所有conda环境
conda remove -n '环境名' --all #完全卸载指定环境名的conda环境
conda activate '环境名' #进入到指定虚拟环境
conda list #列出当前环境下所有已经安装的库的名称
所以,当我们创建好py364这个虚拟环境之后,如果要使终端切换到这个环境下,就执行:
conda activate py364
然后再执行:
conda list
可以查看当前环境下已经安装的库及其版本信息等,如下图所示:
可以看到上述列表还包含了pip及其版本,这也证实了不同虚拟环境下的pip之间是相互隔离的。
*补充——安装cuda
现在conda也可以隔离cuda环境了,我们可以通过conda命令安装cuda(在conda里叫cudatoolkit)。
首先查询可安装的cuda版本:
conda search cudatoolkit --info
这里选11.8的版本,安装命令为:
conda install cudatoolkit=11.8
接下来安装cudnn。同样的,先查找可安装版本:
conda search cudnn --info
这里选8.9.2.26版本的,从上面可以看出,它适配所有11版本的cuda。安装命令:
conda install cudnn=8.9.2.26
至此,cuda和cudnn安装完毕。
2 安装torch及torchvision
如果要安装的是新版本的torch,可以直接去pytorch官网选择配置,然后通过给出的命令直接安装。而这里我们要安装的是一个比较老的版本,0.4.0,需要自己下载并安装。一些torch历史版本的安装文件可以从这里下载,这里我们下载的是cu90/torch-0.4.0-cp36-cp36m-linux_x86_64.whl
这个文件,其中cu90表示用于cuda9.0版本的,cp36指python3.6版本。这里千万注意不要下成cpu版本的pytorch了,不然后边使用cuda的时候会报错(我一开始就是下错了,然后给我报了个RuntimeError)。
然后,进入到该文件所在的目录下,打开终端,执行:
pip3 install torch-0.4.0-cp36-cp36m-linux_x86_64.whl
整个过程很快,基本上秒完成,会输出如下三行信息,表示torch安装成功了:
Processing ./torch-0.4.0-cp36-cp36m-linux_x86_64.whl
Installing collected packages: torch
Successfully installed torch-0.4.0
然后,安装torchision,torch和torchvision对应版本信息可以在这里查看。这里安装的是0.2.1版本的,在终端执行:
pip3 install --no-deps torchvision==0.2.1 #其中--no-deps选项可以使torch不会自动更新
最后输出Successfully installed torchvision-0.2.1表明安装成功。
为了确认已经成功安装了,可以执行:
conda list
输出如下:
与之前的相比,可以看到多了torch及torchision两项,其安装方式为pip。但是,如果此时你想在python命令行中导入torch包,会报错。因为torch依赖的一些包还没安装,下面进行介绍。
3 安装相关依赖
包括torchvision依赖的six、pillow包,以及torch依赖的numpy包。执行如下命令进行安装即可:
pip3 install six pillow numpy
完成后,让我们在python命令行中测试一下,在终端输入python并执行命令,进入到python命令行模式。然后,依次输入并执行
import torch
import torchvision
如果没有输出错误信息,则表明已经成功安装并配置好torch和torchvision了,如下图所示:
参考链接:
深度学习中环境配置的一些经验总结(conda 常用命令)
ubuntu16.04 安装pytorch0.4.0