YOLO从零到论文:模型改进与科研实战全攻略
YOLO基础篇 · A06
作者:迪菲赫尔曼
大家好,我是迪菲赫尔曼。
前面几篇,我们在自己电脑上认识了文件、VS Code、终端和一点 Python。接下来要把这些工具用起来,连接一台真正运行课程代码的服务器。
写教程这些年,我发现“先租一台服务器”这句话,对会的人来说只有几个字,对刚接触的同学来说,后面却藏着一大串问题:服务器是不是电脑?有了 VS Code 为什么还要租机器?页面里的 GPU、镜像、SSH 又分别是什么?
所以这一步咱们也展开讲。先认清页面,再找到登录信息,不用一上来就把安装命令复制一遍。
这一篇只完成一件事:拿到一台能通过 SSH 连接的实例,知道该去哪里找地址、端口、账号和密码。真正连接放在 A07、A08,Python 环境到 A10 再准备。
1. 云服务器,可以先理解成另一台电脑
你面前这台电脑叫本地电脑。云服务器则放在别处,通过网络让你访问。它也有 CPU、内存、硬盘和操作系统;本课程使用的实例还会提供 GPU,供后面训练模型使用。
平台上创建好的一份运行环境,通常叫“实例”。你在实例里保存代码、安装依赖、读取数据,和在自己电脑里做这些事有相似之处,只是操作要经过网络。
这里先分清三个角色:
| 名字 | 在课程里负责什么 |
|---|---|
| 本地电脑 | 打开 VS Code、连接服务器、整理照片、做浏览器标注和查看结果 |
| 服务器实例 | 保存远端项目,执行 Python,后续运行预测、训练和验证 |
| VS Code | 帮你查看和编辑代码;通过 Remote-SSH 操作远端项目 |
VS Code 是编辑器,GPU 是计算设备。安装了编辑器,不会让本地电脑自动多出一张显卡。反过来,租好服务器,也不代表你已经选对了运行代码的 Python。
如果实验室已经给了你可用的 GPU 服务器,可以直接向管理员取得登录信息,继续 A07,不需要为了跟课程再租一台。后面的检查仍要按实际机器完成。
2. 服务器在哪里租?先从蓝耘平台开始
云服务器在哪里租?啥都行,为了避免打广告嫌疑,我就不推荐啦,不知道的可以私聊我。后面的选机器、取登录信息和连接操作,都沿着这条路线演示,第一次跟做的同学可以先从这里进入。
控制台后找到“容器云市场”,再选择 GPU 实例、镜像和存储配置。已经有账号的同学,可以直接进入控制台登录。
下面沿用我之前教程里的平台操作图,带你认清这些选项。先知道去哪里租,再看显卡和镜像分别应该怎么选。
这是原教程保留的操作截图,用来认位置。图里的价格、库存、机器型号和镜像版本属于当时的记录,以你当前控制台为准;本轮课程实际使用的实例配置见 A07。
先看下面几项:
| 页面字段 | 先理解到什么程度 |
|---|---|
| GPU 型号、数量 | 用哪种显卡、给当前实例分配几张;本轮课程实测使用单卡 |
| 显存 | GPU 存放计算数据的空间;和页面里的系统内存是两回事 |
| CPU、内存 | 负责程序执行、数据读取等工作,不等同于显卡配置 |
| 系统盘、数据盘 | 文件存放的位置和容量,还要看各自的保留规则 |
| 镜像 | 平台预先准备好的操作系统及软件组合 |
| 可用数量、实例状态 | 当前能否获得资源,以及实例是否真的启动 |
很多同学会把“内存 50GB”看成“显卡有 50GB 显存”,后面才发现训练放不下。先把这两个字段分开看,能少走不少弯路。
镜像也不用想得太复杂。它相当于平台先帮你准备了一套系统,有些还预装了 Python、PyTorch 等软件。选择了带 PyTorch 的镜像,后面就先检查已有环境,而不是不看版本就全部重装。
图里的“最高 CUDA”等字段也不等于当前 Python 一定能调用 GPU。平台配置、驱动、PyTorch 和课程解释器,要在 A10—A13 逐项接起来。
3. 从创建实例,到等它真正启动
原图的操作路线是:进入“容器云市场”,选择有可用资源的机器,再选择镜像和存储配置,核对订单后创建实例。你当前页面的入口可能叫“租用新实例”或“创建实例”,按实际名称找。
提交之前,先读清楚当前显示的配置和计费方式,以及数据保存在哪里。不要只看到显卡名字,就把镜像、存储和计费信息全部跳过去。
创建完成后,回到实例列表,找到刚才创建的那一台,等待状态变为可连接的运行状态。“已经下单”“已经创建”和“可以登录”,是不同的进度。
如果平台显示资源不足,实例还没开起来,就先处理平台资源问题。这个时候反复安装 Remote-SSH、重装 Python 或修改训练代码,都不会让实例凭空启动。
4. 找到 SSH 登录指令和密码
实例启动后,在实例详情或列表中找“SSH 登录指令”“连接”“密码”等入口。原教程也是在这一步取得连接信息,再拿到 VS Code 里使用。
页面如果给出类似下面的一整条命令,先把它完整复制下来:
ssh-p2222student@203.0.113.10上面是虚构的格式示例,不能直接用来登录。你要复制的是自己控制台当前显示的那条。
先读出其中三项:
2222:SSH 端口,在-p后面。student:登录用户名,在@左边。203.0.113.10:服务器地址,在@右边;实际也可能是域名。
第四项是密码,通常在旁边单独查看、复制或设置。平台账号的登录密码和服务器实例的 SSH 密码,不一定是同一个。以该实例提供的信息为准。
这里不用自己猜端口,也不用因为截图里有人用root就把自己的账号改成root。平台给你什么,就先按什么核对。
登录命令稍后输入本地终端或 VS Code 的“添加新的 SSH 主机”输入框。密码则等出现密码提示时再输入,不要把两者拼成一条命令,更不要把真实密码写进公开文章或练习代码。
5. 只是练连接,可以用无卡模式吗?
原教程介绍过“无卡模式开机”:不分配 GPU,先进入实例处理一些不依赖显卡的操作。下面保留当时的入口图:
旧图只用于识别功能。是否支持无卡启动、需要什么实例状态、实际费用及存储规则,请查看当前平台说明和确认界面。
如果你的实例支持,可以用它练习 SSH 登录、连接 VS Code、查看文件和传输材料。能连上服务器,与已经拥有可用 GPU,是两件事。无卡状态下,不要把 GPU 不可用当成 YOLO 安装失败。
后面进入课程的 GPU 运算检查和训练时,要恢复可用的 GPU 实例,再按 A12/A13 核对。切换状态之前,先保存文件,并确认当前没有需要继续运行的任务。
原教程里的具体小时价格不作为这版课程的固定承诺。关机、无卡启动、释放实例也分别是不同操作:是否继续计费、数据保留多久,都按当前实例的规则确认。关闭自己电脑上的 VS Code 窗口,只是断开连接,不等于平台实例已经关机。
6. 代码和数据准备放在哪里?
平台常常把系统盘、数据盘和文件存储分开。不要把“实例里看得见这个文件夹”理解成“无论怎么操作,这里面的文件都一直保留”。
创建实例时先看存储说明:关机后是否保留,重置系统会影响哪些位置,释放实例后如何处理数据,哪些内容会进入保存的镜像。等登录成功以后,A09 再用实际目录和挂载信息确认位置。
本轮课程实测的数据盘在/root/lanyun-tmp,项目统一放在/root/lanyun-tmp/yolo-study。这是本次实例的路径,不是每个平台的统一规定。你使用其他实例时,先确认自己的可写位置和保留规则,再统一替换后续路径。
现在还没有登录,不必提前在本地照着建立一个/root。本地文件夹和服务器文件夹,是下一步需要分清的两份位置。
7. 到下一篇之前,核对这张表
| 准备项目 | 从哪里确认 |
|---|---|
| 服务器地址 | 从平台提供的 SSH 登录指令中确认主机地址。 |
| SSH 端口 | 查看连接指令中 -p 后的数字,不默认使用 22。 |
| 登录用户名 | 使用平台实际分配的账号,通常位于登录指令的 @ 前。 |
| 登录密码的获取方式 | 查看平台的凭据或重置入口;不要把真实密码写进文章或资料包。 |
| 操作系统与镜像版本 | 先看平台镜像说明,登录后再核对系统与实际环境。 |
| GPU 型号与显存 | 先看实例配置,登录后在 A12/A13 核对实际设备。 |
| 预装 Python、PyTorch 与驱动 | 查看镜像的预装说明,在后面的环境检查中核对实际版本。 |
| 持久项目目录 | 按平台存储规则确认可写、可保留的项目位置。 |
| 已有环境与源码 | 先确认镜像是否已预装,避免重复创建或混用两套环境。 |
能找到自己的完整 SSH 命令,能取得对应密码,知道实例处于什么状态,以及文件应该保存在哪里,就可以进入 A07 了。
这一篇还不要求会 Linux,也不要求跑通 YOLO。咱们先拿到机器的入口,下一篇再亲手连进去。
上一篇:A05|读懂第一份 Python 代码
下一篇:第一次SSH登录服务器