AutoDL小trick


必备:VSCode + Remote-SSH Extension,具体连接方法略

不会的问题都问大模型或AutoDL帮助文档

开服务器

先阅读仓库的README文件,确定CUDA版本后选择服务器,根据显存考虑显卡型号。环境可以开无卡模式在服务器上配置(假设没有依赖torchC++编译),运行再开GPU,无GPU可以克隆实例。服务器都是自带torch的,如果配置指南里没有确认的torch版本,可以直接用base环境的torch,跳过这一安装步骤。

免密登录

设置SSH密钥可以避免我们每次登录/使用都需要输密码。执行命令后一直回车输一次密码即可。

# Windows Powershell
ssh-keygen -t rsa -b 4096 -f "$env:USERPROFILE\.ssh\id_rsa" -N ""; type "$env:USERPROFILE\.ssh\id_rsa.pub" | ssh user@serverip "cat >> ~/.ssh/authorized_keys"

# Linux
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa -N "" && ssh-copy-id -i ~/.ssh/id_rsa.pub user@serverip

文件上传

LinuxCmd/Powershell均支持scp命令。

scp -r -P <PORT> <YOUR FILE PATH> user@serverip:<SERVER FILE PATH>

-r表示文件夹(上传单文件时不需要添加)。-P 表示端口, user@serveripSSH服务器域名,端口和域名都在服务器的SSH命令处复制。随后补充好路径,如果是初始仓库代码复制到数据盘/root/autodl-tmp/处。这里如果命令记不住,复制SSH命令、上传的文件地址和目标文件地址给大模型自动生成即可。

如果需要排除某个目录(如数据集/权重)可以使用rsync,只能在LinuxWindows-WSL中使用。

rsync -avz --exclude='<EXCLUDE FILE PATH>' <YOUR FILE PATH> user@serverip:<SERVER FILE PATH>

缓存清理

以下两个是可以直接删除,不影响系统运行的目录。

du -sh /root/miniconda3/pkgs/ && rm -rf /root/miniconda3/pkgs/*      # conda的历史包
du -sh /root/.local/share/Trash && rm -rf /root/.local/share/Trash   # jupyterlab的回收站

以下两个是可能占用较大空间,但需要根据实际情况清理的目录。

du -sh /tmp/         #查看/tmp占用的空间大小
du -sh /root/.cache  #查看/root/.cache占用的空间大小

本地VPN代理

请参考如何优雅地在SSH服务器上使用Codex,如果需要配置Codex可顺便随本地代理配置。

如此可以加速git clonehf download等下载路径。

安装依赖项

pipconda使用镜像源能加速下载依赖包,切换源方法参考AutoDL帮助文档,另外也可以通过命令行修改配置文件(.condarc)。但对于pytorch我建议在配置完本地VPN后单独安装,走官方的cuxxx路径防止CUDA编译错误。模型权重和数据集等大文件个人不建议在服务器下载,因为网络波动。最好在本地下载后再上传(开无卡模式)。如果复现代码中会自动触发下载,需要把代码改为允许读取本地模型(如设置环境变量)。


文章作者: Sa1ntCHEN
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Sa1ntCHEN !
  目录