autoDL是一个不错的GPU租用平台,最近要跑好多NLP相关的程序,想再租一个配置稍高一点的服务器来使用。这里记录自己配置环境到运行程序的全过程。

个人的邀请连接:AutoDL


文章目录

  • 选择服务器
  • 配置环境
  • 运行程序,检查配置
  • 虚拟环境python包安装
  • 运行程序


选择服务器

租服务器 开发python 如何租用服务器跑程序_linux


选择适用的服务器,我主要是看内存、显存空间和数据盘大小,因为跑DL的模型空间不够会爆内存、程序终止,这次打算选一个内存大一些的。

这里选择了一个内存为48GB的。

租用的同时会选择相应GPU个数,平台的镜像环境,数据盘扩容。

租服务器 开发python 如何租用服务器跑程序_linux_02


根据自己的需求,我选择一张卡,数据盘不需要扩容,pytorch 1.10.0,python 3.8 ,以及cuda11.3

租服务器 开发python 如何租用服务器跑程序_服务器_03

配置环境

配置环境其实和在其他linux服务器配置环境类似,在之前的博客中也有整理过

注意点:

  1. conda在autoDL的实例中是配置好了的,所以可以直接跳过安装anaconda的步骤,从创建虚拟环境开始就可以了。
  2. 系统盘空间小,但是迁移实例是迁移了系统盘,可以用来保存配置的环境;数据盘空间大,但是迁移实例是丢弃数据盘的,所以数据盘中可以保存模型、训练数据等。

省钱Tip!!!
autoDL有无卡模式开机,不运行程序的时候可以选择无卡模式,比如导入代码、导入预训练模型和训练数据等。

运行程序,检查配置

虚拟环境python包安装

在这里我配置的环境和我之前已经存在的实例的环境是一样的,因为要跑类似的代码。
所以想利用conda的命令,导出该实例下环境中所有的包,然后直接在新租的实例中安装。
这种尝试也是第一次,之前租用多个实例的都是自己包一个一个安装,现在想想好冤种!!!果然虽然是一样的事情但也要不断的思考,才能有一定的进步。

conda命令——查看当前环境下所有的包

conda list

conda命令——导出当前环境下所使用的包,生成requirements.txt

conda list -e > requirements.txt  #导出当前环境所有的依赖包及其对应的版本号

conda命令——安装requirements.txt中的包

conda install --yes --file requirements.txt   #在新的环境中安装导出的包

conda命令——直接通过requirements.txt 构建新环境

这种方式可能有PackagesNotFoundError的错误,需要再调整conda的镜像。

conda create --name <env> --file <this file>

pip命令——导出requirements

pip freeze > requirements.txt

pip命令——安装requirements

pip install -r requirements.txt
#指定镜像
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt

最后采用的是pip的方式,没有去设置conda。pip导出的文件中可能有关于文件路径的语句,影响运行。将这些语句删掉,只保留包名==版本号就可以,经过实操是可以将对应的包都安装到新服务器环境中。

运行程序

以为运行之前深度学习的程序会出现包版本不匹配或者少包的问题,经过上面的整个流程后再运行程序,程序并没有出现版本冲突的bug,开心~

程序主要需要修改的只有文件路径重新更新。