在 Google Colab 中训练 Ultralytics YOLO26:零成本云环境实战指南
导读
Google Colab(Google Colaboratory)是 Google 于 2017 年推出的免费云端 Jupyter Notebook 服务,它让没有高端 GPU 的开发者也能直接在浏览器中完成深度学习的训练与实验。本指南围绕 Ultralytics 仓库中的 YOLO26 系列模型(检测、分割、分类、姿态、OBB 等任务),系统讲解如何在 Colab 中从环境搭建、数据准备到训练与监控,并结合仓库源码与官方 Notebook 给出可直接运行的代码。读完本文,你将掌握一套完整、可复用的「无本地算力训练 YOLO26」工作流,以及应对会话超时、显存不足等高频问题的具体策略。
本文内容以 google-colab.md 为骨架,实践命令取自仓库内的 tutorial.ipynb 官方 Notebook,技术细节可对照 modes/train.md、modes/predict.md、modes/val.md、modes/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 留存日志可以看到训练启动时打印的超参数全景,涵盖 batch、imgsz、lr0、optimizer、各类数据增强开关(mosaic、hsv_*、fliplr、mixup 等)以及模型结构逐层摘要。几个与 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.py 的 BaseTrainer 驱动,各任务(检测/分割/分类/姿态/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):免费档遇到内存或显存不足时,优先降低
imgsz或batch。也可直接用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.py、ultralytics/engine/model.py)中均有据可查。对于暂不具备高端硬件的开发者而言,Colab 以极低门槛提供了「打开即训练」的完整 YOLO26 实验平台。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0625
Hy4-previewHy4 preview 是由腾讯混元团队研发的新一代混合专家(MoE)旗舰模型。模型总参数量 770B,每个 token 激活 49B,主干共包含78层,第一层采用标准 FFN,其余 77 层均为 MoE 结构,每层包含 256 个路由专家与 1 个共享专家,每个 token 激活 top-8 路由专家及共享专家。主干之外原生内置 1 层 MTP(总参数量 10B,激活 0.7B)以支持投机解码。Python00
GLM-5.3GLM-5.3 与 GLM-5.2 使用相同的基座模型——所有提升均来自后训练。与 GLM-5.2 相比,它在复杂编程和长程任务上的表现显著提升。Jinja00
GLM-5.3-FlashGLM-5.3-Flash (320B-A18B),是GLM-5系列的首个原生多模态模型。320B总参数,能力超过GLM-5.2Jinja00
Spark-X2.5-4BSpark-X2.5-4B 旨在让强大的 AI 更实用、更高效、更易获得。在广泛日常任务中表现强劲,涵盖对话、写作、翻译、推理、编码、工具调用以及智能体工作流,并在同等规模的开源模型中取得领先成绩。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00
Spark-X2.5-1.7BSpark-X2.5-1.7B 旨在让强大的 AI 更加实用、高效且易于获取。这些模型在广泛的日常任务中表现出色,涵盖对话、写作、翻译、推理、编程、工具调用和智能体工作流,并在同等规模的开源模型中取得领先结果。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00