一、准备工作

1、你本地需要装什么

本地至少准备这几个:

  • VS Code
  • VS Code 扩展:Remote - SSH
  • 本地终端
    • Windows:PowerShell / Windows Terminal
    • macOS / Linux:Terminal

VS Code 官方说明,Remote - SSH 扩展可以让你直接打开远端机器上的文件夹,并像本地开发一样使用 VS Code 的功能。

2、AutoDL 实例要处于开机状态

AutoDL 控制台里把实例开机,然后复制它给你的 SSH 命令。AutoDL 官方文档里就是这种形式:

1
ssh -p 38076 root@region-1.autodl.com

这里面分别对应:

  • 用户名:root
  • 主机地址:region-1.autodl.com
  • 端口:38076

二、测试普通 SSH 能不能连上

在本地终端先试一次,不要一上来就开 VS Code。

1
ssh -p 38076 root@region-1.autodl.com

如果第一次连接,终端可能会提示是否信任主机,输入:

1
yes

然后输入 AutoDL 实例密码。

如果这一步都连不上,VS Code 基本也连不上。AutoDL 的 VS Code 连接本质上也是基于 SSH。

三、在 VS Code 里配置 AutoDL 远程连接

方法 A:最推荐,直接配 SSH config

第 1 步:安装扩展

打开 VS Code 扩展市场,安装:

Remote - SSH

这个是官方远程开发套件的一部分。

第 2 步:编辑 SSH 配置文件

在本地电脑上编辑 SSH 配置文件。

  • Windows 常见路径:
1
C:\Users\你的用户名\.ssh\config
  • macOS / Linux:
1
~/.ssh/config

加入一段:

1
2
3
4
Host autodl
HostName region-1.autodl.com
User root
Port 38076

HostNamePort 改成你自己实例里的值。

第 3 步:在 VS Code 里连接

按:

  • F1Ctrl+Shift+P
  • 输入:Remote-SSH: Connect to Host
  • 选择:autodl

第一次连接时,VS Code 会在远端安装一个 VS Code Server。Remote-SSH 官方说明就是这样工作的:本地 VS Code 通过 SSH 连接远端,并在远端启动服务端组件来支持编辑、终端和扩展能力。

方法 B:不改 config,直接粘 SSH 命令

如果你暂时不想改配置文件,也可以在 VS Code 命令面板里直接添加一个 host,把 AutoDL 给你的 SSH 命令填进去。
不过长期看,还是 config 文件方式最省心

四、打开远端项目目录

连接到 AutoDL 后,在 VS Code 中选择:

File → Open Folder

然后打开远端目录,例如:

1
/root/autodl-tmp/projects/my_baseline

如果目录还没有,可以先在远端终端新建:

1
2
3
mkdir -p /root/autodl-tmp/projects/my_baseline
mkdir -p /root/autodl-tmp/datasets
mkdir -p /root/autodl-tmp/outputs

建议你以后固定这样放:

1
2
3
4
5
6
7
/root/autodl-tmp/
├── projects/
│ └── my_baseline/
├── datasets/
│ └── your_dataset/
└── outputs/
└── exp1/

这是经验性建议,不是官方强制要求,但这样最不容易混。AutoDL 文档把 SSH、VS Code、上传数据、文件存储都作为配套工作流来使用。

五、把代码放到远端

常用的两种方式。

方式 1:直接在远端 git clone

如果你的项目在 GitHub / Gitee:

1
2
cd /root/autodl-tmp/projects
git clone 你的仓库地址

方式 2:本地代码上传到远端

如果你的代码只在本地,可以用 scp 上传:

1
scp -P 38076 -r D:\Project\DOLOS root@region-1.autodl.com:/root/autodl-tmp/projects/

注意:

  • ssh 用小写 -p
  • scp 用大写 -P

AutoDL 官方的上传数据文档明确支持 scp,也支持文件夹上传。

六、在远端配置 Python 环境

进入远端终端后,先检查 GPU 和 Python:

1
2
3
nvidia-smi
python -V
which python

然后创建环境。常见做法是 conda:

1
2
conda create -n baseline python=3.10 -y
conda activate baseline

安装依赖:

1
pip install -r requirements.txt

如果没有 requirements.txt,就按项目实际需要装:

1
pip install numpy pandas scikit-learn tqdm librosa xgboost

这一步主要取决于你的项目本身;AutoDL 文档里也把环境配置列为常用操作。

七、在 VS Code 里选择远端 Python 解释器

这是很多人第一次容易漏掉的。

连接远端后,在 VS Code 里:

  1. Ctrl+Shift+P
  2. 输入:Python: Select Interpreter
  3. 选择远端的 conda 环境,例如:
1
/root/miniconda3/envs/baseline/bin/python

这样你在 VS Code 里点运行、代码补全、Lint、调试时,都会基于远端解释器。

VS Code 的 Remote-SSH 连接后,本地界面可以直接使用远端环境和工具链。

八、数据集怎么上传到远端

方案 1:scp 命令

适合会用终端的人。

上传整个文件夹

Windows 示例:

1
scp -P 38076 -r D:\Datasets\DOLOS root@region-1.autodl.com:/root/autodl-tmp/datasets/

macOS / Linux 示例:

1
scp -P 38076 -r ~/Datasets/DOLOS root@region-1.autodl.com:/root/autodl-tmp/datasets/

AutoDL 官方明确写了 scp 支持文件和文件夹上传下载。

方案 2:FileZilla / Xftp

如果你不想敲命令,这个更直观。
AutoDL 官方也推荐这类工具,支持拖拽上传文件夹。XShell/Xftp 尤其适合 Windows。

你只需要填:

  • Host:region-1.autodl.com
  • User:root
  • Port:38076
  • Password:实例密码

方案 3:公网网盘中转

如果数据集比较大,AutoDL 官方是强烈推荐用公网网盘中转的,因为实例和网盘之间传输往往更快更稳,也方便备份和跨实例迁移。

方案 4:JupyterLab 上传

只适合少量文件。
AutoDL 官方说明它不支持文件夹上传,所以大型数据集并不适合。