首页
/ 在 Google Colab 中训练 Ultralytics YOLO26:零成本云环境实战指南

在 Google Colab 中训练 Ultralytics YOLO26:零成本云环境实战指南

2026-09-07 09:06:37作者:俞予舒Fleming

导读

Google Colab(Google Colaboratory)是 Google 于 2017 年推出的免费云端 Jupyter Notebook 服务,它让没有高端 GPU 的开发者也能直接在浏览器中完成深度学习的训练与实验。本指南围绕 Ultralytics 仓库中的 YOLO26 系列模型(检测、分割、分类、姿态、OBB 等任务),系统讲解如何在 Colab 中从环境搭建、数据准备到训练与监控,并结合仓库源码与官方 Notebook 给出可直接运行的代码。读完本文,你将掌握一套完整、可复用的「无本地算力训练 YOLO26」工作流,以及应对会话超时、显存不足等高频问题的具体策略。

本文内容以 google-colab.md 为骨架,实践命令取自仓库内的 tutorial.ipynb 官方 Notebook,技术细节可对照 modes/train.mdmodes/predict.mdmodes/val.mdmodes/export.md 等训练模式文档深入阅读。

为什么选择 Google Colab

很多开发者不具备构建深度学习模型所需的强大计算资源:购置高性能硬件或按需租用 GPU 都很昂贵。Google Colab 恰好解决了这一问题——它是一个基于浏览器的平台,让你可以在低成本甚至免费的情况下处理大规模数据集、开发复杂模型并与他人共享成果。

Colab 的典型定位:

  • 只要有一个 Google 账号和浏览器,就能使用,与本地电脑的配置规格无关;
  • 提供 CPU、GPU(如 Tesla T4/K80 系列)与 TPU 三类算力,可按需切换运行时;
  • 内嵌 Jupyter Notebook 生态,天然支持代码、文本、可视化混排的迭代式开发。

值得一提的是,Ultralytics 官方维护的 tutorial.ipynb 就是一份专为云端 Notebook 设计的教学文件,其 notebook 元数据中直接声明了 "accelerator": "GPU",意味着在 Colab 中打开即可按 GPU 运行时加载,从仓库层面印证了「Colab 是官方推荐的开箱即用实验环境」这一事实。

准备工作:快速搭建 Colab 中的 YOLO26 环境

打开官方 Notebook

训练 YOLO26 最简单的方式是直接打开仓库中的 tutorial.ipynb,该文件位于 examples/ 目录,Colab 支持通过 github/ultralytics/ultralytics/blob/main/examples/tutorial.ipynb 这样的 URL 直接加载 GitHub 上的 Notebook。打开后依次运行各代码单元即可走完 setup → predict → val → train → export → Python API → 多任务示例的完整流程。

安装与自检

Notebook 的 Setup 单元通过 uv 快速安装 ultralytics 包并执行环境自检:

!uv pip install ultralytics
import ultralytics
ultralytics.checks()

根据 Notebook 中留存的运行输出,一次典型的成功自检会打印类似如下信息,说明 CUDA GPU 已被正确识别:

Ultralytics 8.4.4 🚀 Python-3.12.12 torch-2.9.0+cu126 CUDA:0 (Tesla T4, 15095MiB)
Setup complete ✅ (2 CPUs, 12.7 GB RAM, 38.7/112.6 GB disk)

环境自检逻辑对应仓库中的 ultralytics.checks() 实现,它会验证依赖版本、torch/CUDA 可用性、Python 版本与磁盘空间等。若希望在本地复现同样的自检,可参考 ultralytics/utils/checks.py 中的各项检查函数。Colab 的免费实例通常已预装 PyTorch 与 CUDA 驱动,这一步的目的在于确认 ultralytics 与运行环境匹配,并让首次权重下载提前完成。

数据集配置说明

训练命令中的 data=coco8.yaml 引用的是仓库内置配置 ultralytics/cfg/datasets/coco8.yaml。COCO8 是从 COCO train2017 中截取的 8 张图片迷你数据集(train/val 各 4 张),用于快速验证流程。该 YAML 还内置了 download 字段指向官方资源,因此在 Colab 中首次训练时,如果本地没有数据,Ultralytics 会自动下载并解压到 datasets/ 目录——这也是训练模式中「数据集自动下载」特性的实现方式。理解这一点后,你可以在拿到自己的数据时仿照该文件结构组织 path / train / val / names 四个字段,只需几行配置即可切换为自定义数据集。

在 Colab 中跑通完整 YOLO26 工作流

下面按官方 Notebook 的单元顺序,给出从预测、验证、训练到导出的完整命令。这些命令同时支持 CLI 与 Python API 两种形态,均以当前仓库实际可用接口为准。

1. 推理预测

# 用 YOLO26n 对一张图片做检测,权重首次使用会自动下载
!yolo predict model=yolo26n.pt source='https://ultralytics.com/images/zidane.jpg'

Notebook 中留存的输出示例表明:预训练权重 yolo26n.pt(约 5.3 MB)会自动下载到当前工作目录,随后模型完成推理并输出每张图的耗时与检测目标(如 2 persons, 1 tie),结果保存至 runs/detect/predict。预测模式支持 imgsz 等更多参数,完整列表见 modes/predict.md

2. 验证评估

# 在 COCO8 val 上验证 YOLO26n 精度
!yolo val model=yolo26n.pt data=coco8.yaml

验证时若数据集尚未就绪,Ultralytics 会自动下载 coco8.zip 并解压、建立 label 缓存,随后打印逐类别的 Precision、Recall、mAP50、mAP50-95 表格。如需在完整 COCO val 上评估,可先用仓库的下载工具拉取 COCO val 数据(Notebook 中示例约 780 MB / 5000 张图,需注意 Colab 磁盘配额):

from ultralytics.utils.downloads import download
download('https://ultralytics.com/assets/coco2017val.zip', unzip=True, dir='datasets')

3. 模型训练

训练是整个工作流的核心。Notebook 给出的最小可运行示例为:

!yolo train model=yolo26n.pt data=coco8.yaml epochs=3 imgsz=640

从 Notebook 留存日志可以看到训练启动时打印的超参数全景,涵盖 batchimgszlr0optimizer、各类数据增强开关(mosaichsv_*fliplrmixup 等)以及模型结构逐层摘要。几个与 Colab 场景强相关的要点:

  • 自动 AMP 检查:启动时会对当前 CUDA 环境执行 Automatic Mixed Precision(自动混合精度)检查,通过后训练才能继续,这保证了 T4 这类消费级云 GPU 上的显存利用效率;
  • 自动数据集下载与缓存:首次使用会自动下载数据集并生成 .cache 缓存文件,后续 epoch 读取显著提速;
  • optimizer=auto 自动选优:默认 optimizer 为 auto,训练器会依据迭代规模自动决定使用 MuSGD 还是 AdamW。MuSGD 是 YOLO26 引入的混合优化器,将标准 SGD 与 Muon 风格正交化更新结合(仅作用于 2D 线性权重与重排为 2D 的 4D 卷积核),其实现位于 ultralytics/optim/muon.py;较长训练(通常迭代 > 10000)会自动选用 MuSGD,短训练则回退到 AdamW,相关自动选择逻辑在 BaseTrainer.build_optimizer 中;
  • 批大小三种配置方式:可固定整数(如 batch=16)、用 batch=-1 自动探测约 60% CUDA 显存利用率的批大小、或用小数指定显存占用比例(如 batch=0.70);若首轮发生 OOM,单卡训练会自动减半 batch 并重试(至多 3 次);
  • 断点续训:Colab 会话随时可能中断,建议显式开启断点能力——训练期间每个 epoch 结束都会保存 last.pt,中断后用 yolo train resume model=path/to/last.pt 即可无缝恢复,因为恢复时会同时加载权重、优化器状态、学习率调度器与 epoch 编号。需要注意至少要完成 1 个 epoch 才存在可恢复的检查点。

从源码结构看,训练主流程由 ultralytics/engine/trainer.pyBaseTrainer 驱动,各任务(检测/分割/分类/姿态/OBB/语义等)继承实现,训练入口 model.train(...) 定义于 ultralytics/engine/model.py。若在 Windows 本机以脚本方式训练,记得把训练代码包进 if __name__ == "__main__": 以避免多进程 RuntimeError。

4. 模型导出

YOLO26 支持一键导出到十余种部署格式。Notebook 使用 format 参数指定目标:

!yolo export model=yolo26n.pt format=torchscript

导出能力的完整清单见 modes/export.md。在云端 Notebook 中尤其常见的组合是导出 ONNX/OpenVINO(CPU 侧推理加速)或 TensorRT(GPU 侧推理加速)。仓库中 YOLO26 的架构定义(含 n/s/m/l/x 等规格)可在 ultralytics/cfg/models/26/ 目录下找到,例如 yolo26.yaml(检测)、yolo26-seg.yaml(分割)、yolo26-cls.yaml(分类)、yolo26-pose.yaml(姿态)、yolo26-obb.yaml(旋转框)、yolo26-depth.yaml(深度)与 yolo26-sem.yaml(语义),这也解释了 Notebook 中不同任务使用 -seg-cls-pose-obb 等命名后缀权重的由来。

5. Python API 用法

YOLO26 以 Python 优先为设计原则,训练、验证、预测、导出四类操作统一收敛到 YOLO 类:

from ultralytics import YOLO

# 三种加载方式:从 YAML 新建 / 加载预训练权重(推荐)/ YAML+权重迁移
model = YOLO('yolo26n.yaml')            # 从零构建
model = YOLO('yolo26n.pt')              # 加载预训练权重(训练推荐)
model = YOLO('yolo26n.yaml').load('yolo26n.pt')

# 四种核心模式
results = model.train(data='coco8.yaml', epochs=3)   # 训练
results = model.val()                                # 验证
results = model('https://ultralytics.com/images/bus.jpg')  # 推理
results = model.export(format='onnx')                # 导出

6. 覆盖多任务与训练日志配置

Notebook 还演示了 Colab 特有的交互控件(#@param 表单)用法——例如在代码单元中通过下拉表单选择 TensorBoard 或 Weights & Biases 作为实验日志后端:

#@title Select YOLO26 🚀 logger {run: 'auto'}
logger = 'TensorBoard' #@param ['TensorBoard', 'Weights & Biases']

if logger == 'TensorBoard':
  !yolo settings tensorboard=True
  %load_ext tensorboard
  %tensorboard --logdir .
elif logger == 'Weights & Biases':
  !yolo settings wandb=True

这正是原文档所述「Form Support(表单参数输入)」特性的落地示例:无需改代码即可在多种实验配置间快速切换。训练过程中同样可以按任务切换模型:如目标检测 yolo26n.pt、实例分割 yolo26n-seg.pt(配合 coco8-seg.yaml)、图像分类 yolo26n-cls.pt(配合 mnist160)、姿态估计 yolo26n-pose.pt(配合 coco8-pose.yaml)、旋转框检测 yolo26n-obb.pt(配合 dota8.yaml)。各类内置数据集的 YAML 定义位于 ultralytics/cfg/datasets/ 目录。

Google Colab 的关键特性盘点

结合仓库中的实际使用方式,Colab 对 YOLO26 开发最有价值的特性包括:

  • 库支持(Library Support):预装数据分析与机器学习常用库,并支持随时 pip install 额外依赖(Notebook 中统一用 ! 前缀执行 shell 命令);也支持 matplotlib、plotly 等交互可视化库用于绘制训练曲线。
  • 硬件资源(Hardware Resources):可在运行时设置中切换 CPU/GPU/TPU。Colab 提供面向机器学习任务设计的专用加速硬件(如 Tesla 系列 GPU 与 TPU)。在 Notebook 中可通过 Runtime → Change runtime type 切换硬件加速器。
  • 协作(Collaboration):Notebook 可一键分享,多人可实时协同编辑同一文件,非常适合团队共同调试数据集与训练流程。
  • 自定义环境(Custom Environment):用户可在 Notebook 中直接以 shell 命令安装依赖、配置系统——这也是 !uv pip install ultralytics!yolo train ... 这类写法得以成立的基础。
  • 教育资料(Educational Resources):Google 官方与社区提供大量教程与示例 Notebook,可作为上手参考。
  • 与 Google Drive 集成(Integration with Google Drive):数据集与权重可直接存放/挂载在 Drive 中读写,解决 Notebook 临时磁盘随会话释放的问题。
  • 表单支持(Form Support)#@param 语法可生成下拉/输入控件,便于参数化实验,前述日志选择器即为一例。
  • Markdown 支持:可在 Notebook 中直接编写富文本说明,形成自文档化的实验记录。
  • 定时执行(Scheduled Execution):可设定 Notebook 在指定时间自动运行,适合无人值守的定期训练/评估。
  • 扩展与小组件(Extensions and Widgets):支持第三方扩展与 ipywidgets 等交互组件。

Colab 常见问题与应对策略

在 Colab 中长时间训练 YOLO26,最常遇到的问题集中在会话生命周期与资源限制上。以下是官方文档与 FAQ 中的结论梳理:

Q:为什么我的 Colab 会话会超时(session timeout)? A:会话可能因长时间不活动而超时,免费用户尤其受限于较短的会话时长。

Q:能否延长会话时长? A:免费用户存在限制,Colab Pro 提供更长的会话时长。

Q:会话意外关闭怎么办? A:定期将工作保存到 Google Drive 或代码仓库,避免未保存的进度丢失。训练层面则依赖 Ultralytics 每 epoch 自动保存的 last.pt 检查点做断点续训。

Q:如何查看会话状态与资源占用? A:Colab 界面提供 "RAM Usage" 与 "Disk Usage" 指标面板,可在训练期间实时监控内存与磁盘余量。

Q:能否同时运行多个 Colab 会话? A:可以,但要注意资源占用,避免多个会话争抢导致性能下降。

Q:Colab 的 GPU 是否有访问限制? A:免费档 GPU 有使用配额限制,Colab Pro 提供更充足的用量。

在 Colab 中训练 YOLO26 的实用技巧

综合官方文档的建议与仓库实践,可总结出以下高价值技巧:

  • 始终开启 GPU 加速(Enable GPU Acceleration):在运行时设置中启用 GPU,可显著缩短训练时间;训练前用 ultralytics.checks() 确认 CUDA 设备已被识别(如输出中出现 CUDA:0)。
  • 保持网络连接稳定(Maintain a Stable Connection):Colab 运行在云端,训练期间务必保证网络稳定,防止断连导致运行中断。
  • 做好文件组织(Organize Your Files):将数据集与模型放在 Google Drive 或代码仓库中统一管理,方便在 Colab 内随时挂载取用;训练产出物(runs/ 目录)也应定期同步备份。
  • 优化显存/内存占用(Optimize Memory Usage):免费档遇到内存或显存不足时,优先降低 imgszbatch。也可直接用 batch=-1 让 Ultralytics 依据当前 GPU 显存自动探测合适的批大小。
  • 高频保存(Save Regularly):受会话时长限制,训练结果与中间权重要频繁保存。善用每 epoch 自动生成的 last.pt/best.pt,配合 resume=True 机制实现安全断点续训。

延伸学习路线

如果你希望进一步把 Colab 工作流推向生产级,可从以下几个方向继续深入:

  • 完整训练体系modes/train.md 覆盖单卡/多卡/空闲 GPU 自动选择、Apple Silicon MPS、断点续训、超参与增强参数表等全部训练细节;CLI 各参数统一参考 usage/cfg.md
  • 相邻云端方案对比:Colab 之外,Kaggle 同样提供带 GPU 的云端 Notebook,integrations/kaggle.md 给出了依赖冲突解决、启用联网等不同侧重的操作指引,可一并阅读后按需选用。
  • 更多集成与任务integrations/index.md 汇总了 Ultralytics 生态的各类训练/部署集成(如 TensorBoard、Comet、ClearML 等日志工具),tasks 系列文档则针对检测、分割、分类、姿态、OBB 等任务逐一展开。

总结

本文完整梳理了「在 Google Colab 上训练 Ultralytics YOLO26」的端到端路径:从环境自检与数据集自动下载,到 predict / val / train / export 四种核心模式的 CLI 与 Python 双接口写法,再到日志表单配置、断点续训、多任务模型切换等进阶能力,并针对会话超时、显存不足等云端特有的限制给出了可落地的策略。整个工作流的核心入口即官方 Notebook tutorial.ipynb,其全部命令在仓库的模型配置(ultralytics/cfg/models/26/、数据集 YAML(ultralytics/cfg/datasets/coco8.yaml)与引擎实现(ultralytics/engine/trainer.pyultralytics/engine/model.py)中均有据可查。对于暂不具备高端硬件的开发者而言,Colab 以极低门槛提供了「打开即训练」的完整 YOLO26 实验平台。

登录后查看全文
热门项目推荐
相关项目推荐