从零到一·配环境篇
由于今年要展开大量的编程工作,实验室在用的云计算平台是并行超算云,因此打算在寒假期间先熟悉一下超算云的环境,并从配套的文档和网上的教程开始,从零到一先跑通一个用于音视频分割的模型CATR。
以blog的形式对学习过程进行记录,仅作学习之用。
连接到服务器并配置环境
这一部分主要参考了:
- https://blog.csdn.net/qq_35768355/article/details/132875292
- https://blog.csdn.net/stone_tigerLI/article/details/130724570
使用SSH或Putty连接
首先打开并行超算云可视化界面中的SSH,并点击“连接”以连接到服务器。
由于我们要运行的是python环境下的程序,因此连接到服务器之后,我查看了python的版本。使用命令:python --version
。此时查看到的版本是python 2.7.5
。显然这个版本是非常低的,我需要的是python 3.8
及其以上的版本。
此时要做的是使用Anaconda建立虚拟环境,并在虚拟环境中配置需要的版本,并安装相应的软件包。
module avail && module load
在并行超算云中,在命令行界面使用module avail
可以查看可用软件的列表,使用module load
来加载需要使用的软件。
比如,使用module avail
之后,我能看到可用的软件包括anaconda/2022.10
和cuda/12.1
,就可以使用module load anaconda/2022.10
和module load cuda/12.1
来加载这两个软件。
观察到,使用module load anaconda/2022.10
之后,再查看python的版本,显示的版本是python 3.9.13
。这应该是加载软件之后系统全局的环境,而我们要配置的是虚拟环境,使用conda create --name python38 python=3.8
命令来创建一个python版本为3.8的虚拟环境,名曰python38
。创建的过程中会出现[y/n]
,当然要选择y
。
创建虚拟环境完毕后,使用conda env list
来查看已经安装的环境,会出现的是刚刚创建的python38
和base
。此处需要注意,在Linux环境中,想要激活环境,与Windows的conda activate env_name
不同,Linux需要使用source activate env_name
来进行激活。因此我们使用source activate python38
来激活刚刚创建的环境。
使用conda list
来查看当前虚拟环境中已经有哪些软件包,及它们对应的版本。
安装torch
由于之前我们已经使用module load cuda/12.1
将cuda 12.1
加载到了环境当中,因此我猜测可以安装cuda=12.1
对应的torch。之所以说是猜测是因为现在我们还没有到实际上传代码运行的阶段,不知道现在安装的torch将来是否与环境产生冲突。
但是就目前而言,可以将cuda=12.1
的torch 2.1.2顺利安装到虚拟环境当中。
👆前往torch官网,选择最新版本的pytorch,我们要安装的系统是Linux,虚拟环境是Conda,cuda版本是12.1,因此按照上述选择,使用命令conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
来进行安装。
我在安装过程中是非常顺利的,没有遇到任何问题。安装过后,再次使用conda list
也可以看到刚才安装的pytorch已经被成功安装到了虚拟环境当中。
至此,主要的环境配置已经完毕。接下来我将会首先进行一个ResNet在Cifar-10上做图像分类的简单测试,来熟悉一下并行超算云进行训练的操作和配置。