云端训练#
Ultralytics Platform 云端训练支持在云端 GPU 上一键训练,无需复杂配置即可进行模型训练。使用实时指标流和自动检查点保存来训练 YOLO 模型。
graph LR
A[Configure]:::start --> B[Start Training]:::proc
B --> C[Provision GPU]:::proc
C --> D[Download Dataset]:::proc
D --> E[Train]:::proc
E --> F[Stream Metrics]:::proc
F --> G[Save Checkpoints]:::proc
G --> H[Complete]:::out
classDef start fill:#4CAF50,color:#fff
classDef proc fill:#2196F3,color:#fff
classDef out fill:#9C27B0,color:#fff训练对话框#
在任意项目或数据集页面上点击 New Model,即可通过平台 UI 开始训练。训练对话框包含两个选项卡:Cloud Training 和 Local Training。当所选数据集位于 本地部署 主机上时,第一个选项卡会变为 On Premise,并隐藏 Local Training 选项卡——该数据集只能在其所属主机上训练,这需要 Enterprise 计划以及已连接且在线的工作节点。

对话框会记住你在当前浏览器的每个数据集任务和工作区中上次关闭时所保留的基础模型以及任何非默认参数,并在你下次针对该任务打开它时进行恢复。系统不会记住 GPU 选择,对失败的运行点击重试会恢复该运行自身的参数。
步骤 1:选择基础模型#
选择官方 Ultralytics 模型或你自己已完成的模型:
| 选项卡 | 描述 |
|---|---|
| 官方模型 | YOLO26(推荐)、YOLO11、YOLOv8 和 YOLOv5 项目模型 |
| 我的模型 | 你已完成或上传的模型,按项目分组,可用于微调 |
在每个选项卡中,模型按任务以标准顺序分组,并按大小排序。选择器会将官方模型筛选为与所选数据集兼容的任务。YOLO26 提供 Detect、Segment、Semantic、Depth、Classify、Pose 和 OBB 变体,大小从 nano 到 xlarge。
深度数据集可以上传以米为单位的 float NPY 目标,或使用数据集的 depth_scale 上传 uint16 PNG 目标。请参阅深度数据集格式。
步骤 2:选择数据集#
选择要用于训练的数据集(请参阅数据集:
| 选项 | 描述 |
|---|---|
| 官方模型 | 由 Ultralytics 整理的数据集 |
| 你的数据集 | 你上传的数据集 |
数据集必须处于 ready 状态,且训练拆分中至少有 1 张图像,验证或测试拆分中至少有 1 张图像,至少有 1 张已标注图像,并且至少包含一个类别名称。分类数据集还要求训练拆分中的图像已完成标注,姿态数据集必须定义关键点形状。深度数据集则要求在 train 中有一张配对图,在 val 中有两张配对图;未配对图像会被排除。
当所选模型无法训练该数据集任务时,会显示任务不匹配警告,并且 Start Training 会保持禁用状态,直到你选择兼容的模型。分割数据集可接受分割模型或语义模型;其他数据集任务则要求模型任务相匹配。请参阅任务指南。
步骤 3:配置参数#
设置核心训练参数:
| 参数 | 描述 | 默认值 |
|---|---|---|
| 训练轮数 | 训练迭代次数(1-10000) | 100 |
| 批量大小 | 每次迭代的样本数(-1 会自动适配可用 VRAM,或设置为 1-512) | -1(自动) |
| Image Size | 输入分辨率滑块,范围为 32-1280,步长为 32 | 640 |
| 名称 | 训练运行的可选名称 | 自动 |
在参数范围之外输入的值会在字段失去焦点时被限制在有效范围内。
滑块最大值为 1280,但 YAML 编辑器接受最大为 4096 的尺寸。超过 1280 时会显示警告,因为更大的分辨率会显著增加 GPU 内存使用量、训练时间和成本。
步骤 4:高级设置(可选)#
展开 Advanced Settings,即可访问完整的基于 YAML 的参数编辑器,其中包含按组组织的 50 多个训练参数(请参阅配置参考:
| 组 | 参数量 |
|---|---|
| 学习率 | lr0、lrf、momentum、weight_decay、warmup_epochs、warmup_momentum、warmup_bias_lr |
| 优化器 | auto(默认)、SGD、MuSGD、Adam、AdamW、NAdam、RAdam、RMSProp、Adamax |
| 损失权重 | box、cls、dfl、pose、kobj、label_smoothing |
| 颜色增强 | hsv_h、hsv_s、hsv_v |
| 几何增强 | degrees、translate、scale、shear、perspective |
| 翻转与混合增强 | flipud、fliplr、mosaic、mixup、copy_paste |
| 训练控制 | epochs、batch、imgsz、pretrained、patience、time、seed、deterministic、amp、cos_lr、compile、close_mosaic、save_period |
| 数据集 | fraction、freeze、single_cls、rect、multi_scale、val、resume |
| 设备与推理 | device、cache、workers、dropout、iou、max_det |
参数会根据任务自动适配(例如,copy_paste 仅在分割任务中显示,pose/kobj 仅在姿态任务中显示,dropout 仅在分类任务中显示)。当值与默认值不同时,会显示 Modified 标记;你可以使用重置按钮将所有值恢复为默认值。只有非默认的高级参数值会发送到训练任务(基础的 epochs、batch 和图像尺寸参数始终会包含),因此生成的命令更加易读。
示例:为小型数据集调节增强
对于小型数据集(<1000 张图像),增加增强以减少过拟合:
mosaic: 1.0 # Keep mosaic on
mixup: 0.3 # Add mixup blending
copy_paste: 0.3 # Add copy-paste (segment only)
fliplr: 0.5 # Horizontal flip
degrees: 10.0 # Slight rotation
scale: 0.9 # Aggressive scaling保存数据集版本(可选)#
启用 Save Dataset Version,将模型关联到 Platform 托管数据集的不可变版本。Platform 会检查数据集内容是否发生变化;如果没有变化,则复用匹配的版本,只有在需要时才创建新的编号版本。训练随后会使用该确切的 NDJSON 快照,并将其版本号和内容哈希记录到模型中。
即使你之后添加或删除图像、编辑标注或更改数据集拆分,这也能保留本次运行所使用的数据。你可以在数据集的 Models 和 Versions 选项卡中找到关联的版本。
连接的云存储和 On Premise 数据集不支持 Save Dataset Version。你也可以从Versions 选项卡手动创建快照。
步骤 5:选择 GPU(云端选项卡)#
从 Ultralytics Cloud 中选择你的 GPU:

| GPU | 代次 | VRAM | 每小时费用 | 最适用场景 |
|---|---|---|---|---|
| RTX 2000 Ada | Ada | 16 GB | $0.24 | 小型数据集、测试 |
| RTX A4500 | Ampere | 20 GB | $0.25 | 小型至中型数据集 |
| RTX 4000 Ada | Ada | 20 GB | $0.26 | 中型数据集 |
| RTX A5000 | Ampere | 24 GB | $0.27 | 中型数据集 |
| L4 | Ada | 24 GB | $0.39 | 针对推理优化 |
| A40 | Ampere | 48 GB | $0.44 | 更大的批量大小 |
| RTX 3090 | Ampere | 24 GB | $0.46 | 通用训练 |
| RTX A6000 | Ampere | 48 GB | $0.49 | 大型模型 |
| RTX PRO 4000 | Blackwell | 24 GB | $0.57 | 经济型 Blackwell |
| RTX PRO 4500 | Blackwell | 32 GB | $0.64 | 出色的性价比 |
| RTX 4090 | Ada | 24 GB | $0.69 | 最佳性价比 |
| RTX 6000 Ada | Ada | 48 GB | $0.77 | 大批量训练 |
| L40S | Ada | 48 GB | $0.86 | 大批量训练 |
| RTX PRO 5000 | Blackwell | 48 GB | $0.96 | 大批量训练 |
| RTX 5090 | Blackwell | 32 GB | $0.99 | 最新消费级一代 |
| L40 | Ada | 48 GB | $0.99 | 大型模型 |
| A100 PCIe | Ampere | 80 GB | $1.39 | 生产训练 |
| A100 SXM | Ampere | 80 GB | $1.49 | 生产训练 |
| RTX PRO 6000 | Blackwell | 96 GB | $2.09 | 推荐默认选项 |
| H100 PCIe | Hopper | 80 GB | $2.89 | 高性能训练 |
| H100 NVL | Hopper | 94 GB | $3.19 | 最高性能 |
| H100 SXM | Hopper | 80 GB | $3.29 | 最快训练 |
| H200 NVL | Hopper | 143 GB | $3.39 | 最大内存 |
| H200 SXM | Hopper | 141 GB | $4.39 | 最高性能 |
| B200 | Blackwell | 180 GB | $5.89 | 大型模型(Pro+) |
| B300 | Blackwell | 288 GB | $7.39 | 最大型模型(Pro+) |
- RTX PRO 6000:96 GB Blackwell,适用于大多数任务的推荐默认选项
- A100 SXM:80 GB HBM2e——批量大小较大或模型较大时的理想选择
- H100 PCIe / H100 SXM / H100 NVL:80–94 GB Hopper,适用于时间敏感型训练(所有计划均可用)
- H200 NVL / H200 SXM:141–143 GB Hopper,适用于高内存工作负载(所有计划均可用)
- B200 / B300:180–288 GB NVIDIA Blackwell,适用于尖端工作负载——需要Pro 或 Enterprise计划
对话框会显示你当前的 balance 和 Top Up 按钮。成本卡片会估算当前配置的总时长和价格(模型大小、数据集图像数量、训练轮数、图像尺寸、批量大小、优化器和 GPU 速度),同时报告每个训练轮次的预计秒数和数据集图像数量。
GPU 选择器会反映云端的实时库存,因此容量不足的选项会被标记。如果任务仍然无法部署到你选择的 GPU 上,Platform 会报告容量不足,并将你的选择切换到最接近的可用 GPU——先匹配 VRAM,再匹配速度,最后匹配价格——同时告知你新的 VRAM 和每小时费率,让你可以立即开始或改选其他 GPU。
选择价格低于 RTX PRO 6000 的 GPU 后,你的任务便有资格使用由 Ultralytics 管理的基础设施。当该基础设施有空闲容量时,任务会在 RTX PRO 6000 上运行,但仍按你所选 GPU 的费率计费,因此任务可能比使用所选 GPU 更快完成且成本更低——升级本身绝不会让任务变慢或变贵。
步骤 6:开始训练#
点击 Start Training 启动任务。Platform 将:
- 在启用 Save Dataset Version 时解析不可变的数据集版本
- 配置 GPU 实例
- 下载你的数据集
- 开始训练
- 实时传输指标
重新训练现有模型会复用同一模型页面,并在新任务创建后清除上一次运行的图表、控制台输出、系统指标和错误状态。在计算资源配置完成前失败的运行会保留之前的结果。
训练任务生命周期#
训练任务会经历以下状态:
| 状态 | 描述 |
|---|---|
| Pending | 任务已提交,正在等待 GPU 分配 |
| 启动中 | GPU 已配置,正在下载数据集和模型 |
| 运行中 | 训练进行中,指标正在实时传输 |
| 已完成 | 训练已成功完成 |
| 失败 | 训练失败(详情请查看控制台日志) |
| 已取消 | 训练已被用户取消 |
控制台流中出现致命 Python 错误——回溯、CUDA 内存不足错误或 CUDA 初始化失败——会立即结束运行,而不是等待超时;提取的消息会显示在模型页面的错误横幅中,并提供 View full console logs 和 Retry Training 操作。连续数小时停止报告活动的运行会自动标记为失败,其计算资源也会被释放。
要在不保持此页面打开的情况下接收已完成和失败的结果,请连接 Slack alerts。
新账户会获得注册抵扣金——个人邮箱 $5,公司邮箱 $25。在 Settings > Billing 中查看余额。

监控训练#
在模型页面的 Train 标签页中查看实时训练进度:
图表子选项卡#

图表按指标类别分组,显示哪些分组取决于运行所报告的内容:
| 组 | 目录 |
|---|---|
| 指标 | 任务指标——检测任务的 mAP50、mAP50-95、precision 和 recall;其他任务请参阅 Models |
| Loss | 每个损失组件对应一个图表,训练序列为实线,验证序列为虚线 |
| 学习率 | lr/pg0、lr/pg1、lr/pg2 |
每个分组都可以折叠,也可以通过分组菜单隐藏或显示单个图表;图表还可以拖动和调整大小——布局会被记住以便下次使用。
控制台子选项卡#
支持 ANSI 颜色、进度条和致命错误检测的实时控制台输出。系统会保留最后 2000 行,可切换显示时间戳,还可以将整个日志复制为纯文本。
系统子选项卡#
实时主机卡片(主机名、CPU、GPU、RAM 和磁盘总容量),以及按 epoch 显示的 CPU 和 RAM 使用率、GPU 利用率和内存、GPU 温度、网络 I/O 和磁盘 I/O 图表。
检查点#
最佳检查点(best.pt)会在训练期间定期上传到 Platform,并在运行结束时再次上传,因此下载、导出和部署始终使用截至目前生成的最佳 epoch。如果运行被取消,则保留取消前上传的检查点。
取消训练#
在模型页面的 Run Information 卡片中点击 Cancel,然后确认操作。对于云训练,Platform 会停止任务、释放其计算资源,并收取取消前已使用的 GPU 时间。对于本地训练, 取消信号会让进程在下一个 epoch 边界停止,并保留部分结果——运行会在退出前上传 已有的内容。
远程训练#
graph LR
A[Local GPU]:::start --> B[ultralytics Package]:::proc
B --> C[Train]:::proc
C --> D[Stream Metrics]:::proc
D --> E[Platform Dashboard]:::out
classDef start fill:#4CAF50,color:#fff
classDef proc fill:#2196F3,color:#fff
classDef out fill:#9C27B0,color:#fff在你自己的硬件上训练,同时将指标流式传输到平台。
Platform integration requires Python>=3.11 and ultralytics>=8.4.120. Lower versions will not work with Platform.
pip install -U ultralytics设置 API 密钥#
- 前往
Settings > API Keys - 创建新密钥(或者在打开 Local Training 标签页时,平台会自动创建一个)
- 设置环境变量:
export ULTRALYTICS_API_KEY="YOUR_API_KEY"使用流式传输进行训练#
使用 project 和 name 参数来传输指标:
yolo train model=yolo26n.pt data=coco.yaml epochs=100 \
project=username/my-project name=experiment-1训练对话框中的 Local Training 标签页会显示一条预配置命令,其中包含你的 API 密钥、所选参数和高级参数。
使用 Platform 数据集#
使用存储在平台上的数据集进行训练,使用 ul:// URI 格式:
yolo train model=yolo26n.pt data=ul://username/datasets/my-dataset epochs=100 \
project=username/my-project name=exp1ul:// URI 格式会自动下载并配置你的数据集。模型会自动关联到平台上的数据集(请参阅 Using Platform Datasets)。
计费#
训练费用根据 GPU 使用情况计算:
费用估算#
训练开始前,平台会根据你的数据集大小、模型大小、 图像大小、批次大小、epoch 数量和所选 GPU 估算总时长和费用。估算值仅供参考;实际使用量才是计费依据。
影响费用的因素:
| 因素 | 影响 |
|---|---|
| 数据集大小 | 图像越多 = 训练时间越长(计算量大致随数据集大小线性增长) |
| 模型大小 | 较大的模型(m、l、x)比(n、s)训练得更慢 |
| Epoch 数量 | 直接按比例增加训练时间 |
| Image Size | 更大的 imgsz 会显著增加计算量——1280px 的费用是 640px 的数倍 |
| 批量大小 | 较大的批次比小批次训练效率更高 |
| GPU 速度 | 更快的 GPU 可缩短训练时间,部分抵消其更高的小时费率 |
| 优化器 | MuSGD 所需时间大约是其他优化器的两倍 |
| 启动开销 | 实例初始化、数据下载和预热最多需要 5 分钟(随数据集大小增长) |
估算基于实际云训练运行,并且始终使用你所选的 GPU——因此,分配到更快 Ultralytics 基础设施的任务会提前于估算时间完成。
费用示例#
费用估算仅供参考,并取决于许多因素。训练对话框会在你开始训练前显示实时估算。
| 场景 | GPU | 预计费用 |
|---|---|---|
| 500 张图像,YOLO26n,50 个 epoch | RTX 4090 | ~$0.03 |
| 1000 张图像,YOLO26n,100 个 epoch | RTX PRO 6000 | ~$0.23 |
| 5000 张图像,YOLO26s,100 个 epoch | H100 SXM | ~$1.56 |
计费流程#
graph LR
A[Estimate Cost]:::start --> B[Balance Check]:::decide
B --> C[Train and Meter GPU Time]:::proc
C --> D[Settle at Terminal State]:::out
classDef start fill:#4CAF50,color:#fff
classDef proc fill:#2196F3,color:#fff
classDef decide fill:#FF9800,color:#fff
classDef out fill:#9C27B0,color:#fff云训练计费流程:
- 估算:训练开始前计算费用
- 余额检查:启动前检查可用抵扣金
- 训练与计量:任务在所选计算资源上运行,累计的 GPU 时间会在运行期间分阶段从你的余额中扣除
- 结算:进入终止状态时扣除剩余尾部用量,并为整个运行写入一笔 Training 交易
计费会跟踪实际 GPU 时间,包括云 GPU 启动后被取消或失败的部分运行。
按任务状态计费#
| 状态 | 是否收费? |
|---|---|
| 已完成 | 是——实际使用的 GPU 时间 |
| 已取消 | 是——从开始到取消期间的 GPU 时间 |
| 失败 | 是,云计算资源启动后——已使用的 GPU 时间 |
| 卡住 | 是——直到自动终止前经过的 GPU 时间 |
连续数小时停止报告活动的运行会自动标记为失败;实例会被终止,并结算经过的 GPU 时间。在你自己的硬件上运行的远程任务只会被标记为失败,不会产生费用。
云 GPU 启动前发生的验证或启动失败不会产生可计费的计算用量。GPU 开始运行后, 已完成、已取消、已失败和自动终止的任务都会按经过的实际墙钟 GPU 时间结算。
支付方式#
云训练费用从你的 Platform 抵扣金余额中支付。
开始训练需要有正数可用余额,并且有足够抵扣金支付预计任务费用;每次估算至少会预留 15 分钟的 GPU 时间。同时运行多个任务时,检查还会计入这些任务尚未计费的剩余用量。
查看训练费用#
开始云任务前,训练对话框会根据所选模型、数据集、epoch 数量、图像大小和 GPU,显示当前抵扣金余额并估算任务时长和费用。该估算仅供参考;实际使用量会按消耗的 GPU 时间计费。之后,你可以在 Settings > Billing 中查看生成的抵扣金交易。

训练技巧#
选择合适的模型大小#
| 模型 | 参数量 | 最适用场景 |
|---|---|---|
| YOLO26n | 2.4M | 实时应用、边缘设备 |
| YOLO26s | 9.5M | 速度与精度的平衡 |
| YOLO26m | 20.4M | 更高精度 |
| YOLO26l | 24.8M | 生产环境精度 |
| YOLO26x | 55.7M | 最高精度 |
优化训练时间#
- 从小规模开始:使用经济型 GPU 训练 10-20 个 epoch,验证数据集和配置是否正常
- 使用合适的 GPU:RTX PRO 6000 能很好地处理大多数工作负载
- 验证数据集:在投入训练费用前修复标注问题
- 尽早监控:如果损失趋于平稳,就取消训练——你只需支付已使用的计算时间
故障排除#
| 问题 | 解决方案 |
|---|---|
| 训练卡在 0% | 检查数据集格式,然后重试 |
| 内存不足 | 减小批次大小或使用更大的 GPU |
| 精度较低 | 增加 epoch 数量,检查数据质量 |
| 训练速度慢 | 考虑更快的 GPU |
| 任务不匹配错误 | 确保模型和数据集的任务匹配 |
训练参数参考#
| 参数 | 类型 | 默认值 | 范围 | 描述 |
|---|---|---|---|---|
epochs | int | 100 | 1-10000 | 训练轮数 |
batch | int | -1(自动) | -1 至 512 | 批次大小(-1 = 自动适配可用 VRAM) |
imgsz | int | 640 | 32-4096 | 输入图像大小 |
pretrained | bool | True | - | 使用预训练权重开始训练,而不是随机初始化 |
patience | int | 100 | 1-1000 | 提前停止耐心值 |
time | float | null | 0.1-720 | 以小时为单位的实际训练时间上限,会覆盖训练轮数设置 |
seed | int | 0 | 0-2147483647 | 用于确保可复现性的随机种子 |
deterministic | bool | True | - | 确定性训练模式 |
amp | bool/str | True | true/false/fp16/bf16/fp32 | 训练精度 |
compile | bool | False | - | 使用 torch.compile 编译(第一个训练轮次较慢) |
close_mosaic | int | 10 | 0-50 | 在最后 N 个训练轮次中禁用 mosaic |
save_period | int | -1 | -1-100 | 每 N 个训练轮次保存检查点 |
device | select | 自动 | auto/0/cpu/mps | 训练设备 |
workers | int | 8 | 0-64 | 数据加载器工作进程数 |
cache | select | false | ram/disk/false | 缓存图像 |
dropout | float | 0.0 | 0.0-1.0 | 分类头 dropout(仅分类) |
iou | float | 0.7 | 0.1-0.9 | 验证期间 NMS 的 IoU 阈值 |
max_det | int | 300 | 1-10000 | 每张图像的最大检测数 |
某些参数仅适用于特定任务:
- 除分类和深度之外的所有任务(检测、分割、语义、姿态、obb):
box、dfl、mosaic、mixup、close_mosaic、iou、max_det - 除深度之外的所有任务(包含类别的任务):
cls、label_smoothing、single_cls - 除分类之外的所有任务(检测、分割、语义、深度、姿态、obb):
degrees、translate、shear、perspective - 仅分割:
copy_paste - 仅姿态:
pose(损失权重)、kobj(关键点目标性) - 仅分类:
dropout
常见问题#
训练时间取决于:
- 数据集大小
- 模型大小
- epoch 数量
- 选定的 GPU
典型耗时(1000 张图像,100 个训练轮次):
模型 RTX PRO 6000 A100 SXM YOLO26n ~6 分钟 ~5 分钟 YOLO26m ~15 分钟 ~12 分钟 YOLO26x ~30 分钟 ~25 分钟 大致耗时训练时间为近似值,会因数据集复杂度、增强设置和批次大小而异。要获得更准确的预测,请使用训练对话框中的成本估算。
可以。只要资金充足,训练就能在无人值守的情况下运行,Platform 会记录完成或失败事件。如果计费导致余额低于零,正在运行的付费云端任务会停止,并结算已使用的 GPU 时间。
云端使用量会随着训练进度进行计量。如果某笔扣费导致余额低于零,正在运行的付费云端训练任务会停止,并结算已使用的 GPU 时间。添加额度或启用自动充值,即可为长时间运行的任务持续提供资金。
负余额余额为零或负数时,无法创建新的付费云端训练任务。计量余额为负数还会触发正在运行的付费云端训练任务关闭。
成本估算值仅供参考——实际训练时间可能会因数据加载速度、GPU 预热和模型收敛行为等因素而有所不同。如果实际使用量耗尽可用余额,Platform 会在余额变为负数后停止正在运行的付费云端任务。
管理成本:
- 实时监控训练进度,并在需要时提前取消
- 启用自动充值以自动补充额度
- 先从较短的运行任务(较少的 epoch)开始,以校准预期
可以。在训练对话框中展开 高级设置 部分,即可访问包含 50 多个可配置参数的 YAML 编辑器。非默认值会同时包含在云端和本地训练命令中。
YAML 编辑器还支持从之前的训练任务导入配置:
- 从现有模型复制:在任意已完成模型的页面上,训练配置卡片中的 导出数据 菜单包含 复制 JSON 选项。将 JSON 直接粘贴到 YAML 编辑器中——编辑器会自动检测 JSON 格式并导入所有参数。同一菜单还可以将配置下载为 CSV 或 JSON。
- 粘贴 YAML 或 JSON:将任何有效的 YAML 或 JSON 训练配置粘贴到编辑器中。参数会自动验证,超出范围的值会被限制在有效范围内,并显示警告。
- 拖放文件:将
.yaml或.json文件直接拖入编辑器,即可导入其中的参数。

这使得你可以轻松复现或迭代之前的训练配置,而无需手动重新输入每个参数。
可以。失败的模型会显示包含 重试 操作的错误横幅。点击该操作会重新打开训练对话框,并保留相同的基础模型、数据集和参数,因此你可以调整一个值后重新开始。重试会复用同一个模型页面:创建新任务后,之前运行的图表、控制台输出、系统指标和错误信息都会被清除;当新任务生成更好的检查点时,其权重也会被替换。
可以,数据集页面上的 新建模型 按钮会打开训练对话框,并预先选中且锁定该数据集。然后选择项目和模型即可开始训练。