ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

在 Ultralytics HUB 上云端训练 YOLO 模型:从实例选择、训练计费到暂停恢复的完整实操指南

2026/9/15 18:33:32 拓冰建站 浏览量
在 Ultralytics HUB 上云端训练 YOLO 模型:从实例选择、训练计费到暂停恢复的完整实操指南 在 Ultralytics HUB 上云端训练 YOLO 模型从实例选择、训练计费到暂停恢复的完整实操指南【免费下载链接】yolov10YOLOv10: Real-Time End-to-End Object Detection [NeurIPS 2024]项目地址: https://gitcode.com/GitHub_Trending/yo/yolov10本文是围绕当前仓库内docs/en/hub/cloud-training.md展开的云端训练实战指南。Ultralytics HUB 是一个面向自定义目标检测模型的云训练平台你只需选定数据集与训练方式即可在数分钟内启动一次云端训练并通过 Web 页面实时监控训练进度。读完本文你将掌握 HUB 云端训练的三步启动流程、按 Epoch 与按时长两种计费模式的差异、训练监控/暂停/恢复操作以及仓库中ultralytics/hub/客户端 SDK 在底层是如何完成认证、心跳与指标上报的。认识 Ultralytics HUB 云端训练Ultralytics HUB 为自定义目标检测模型提供了一站式云端训练能力你可以在平台上选择数据集、指定训练方式然后以极少的点击次数启动训练。平台内置了多种预置选项与模型架构帮助用户快速搭建训练工作流。在当前仓库中与 HUB 相关的客户端代码集中在 ultralytics/hub/ 目录下包括认证auth.py、训练会话session.py、工具函数utils.py以及训练回调ultralytics/utils/callbacks/hub.py。这意味着即使不使用 HUB 的 Web 界面你也可以通过本仓库提供的 Python SDK 与 HUB 平台交互例如上传指标、同步检查点等。HUB 支持三种训练方式Ultralytics Cloud云上训练本文核心内容训练全程由云端托管无需自备 GPUGoogle Colab在 Colab Notebook 中执行由平台生成的训练代码块Bring your own agent自带训练节点在本地硬件或自建 GPU 服务器上执行训练仅将指标与权重同步到 HUB。关于模型的创建与管理细节请参考 HUB Models 页面关于数据集的准备与上传请参考 HUB Datasets 页面。训练前准备数据集与模型1. 准备并上传数据集HUB 数据集与 YOLOv5/YOLOv8 数据集使用相同的目录结构与标签格式。上传前需要满足以下命名约束数据集 YAML 文件必须放在数据集根目录内YAML 文件、数据集目录、ZIP 压缩包三者的名称必须一致。例如以 COCO8 示例数据集为例正确的结构是coco8/目录内包含coco8.yaml压缩后得到coco8.zipzip -r coco8.zip coco8数据集 YAML 就是标准的 YOLO 格式配置。仓库中自带了一份可直接参考的完整示例 ultralytics/cfg/datasets/coco8.yaml其中定义了path数据集根目录、train/val/test各分片图片路径相对path、names类别名列表从 0 开始编号以及可选的download字段。HUB 会在上传后执行数据集校验因此建议在上传前先用 SDK 自检避免因格式错误被拒绝from ultralytics.hub import check_dataset check_dataset(path/to/coco8.zip) # 检测类数据集 check_dataset(path/to/coco8-seg.zip, tasksegment) # 分割类数据集 check_dataset(path/to/coco8-pose.zip, taskpose) # 姿态类数据集check_dataset的实现位于 ultralytics/hub/init.py它通过HUBDatasetStats校验压缩包内 YAML 与图片的完整性校验通过后会提示将数据集上传到 HUB 的 Datasets 页面。上传完成后你可以在 Datasets 页面按 Train/Validation/Test 分片浏览图片并通过 Overview 标签页分析数据分布。2. 创建模型并选择实例在 Models 页面 上点击Train Model按钮通过三步对话框完成配置选择数据集 → 选择项目、模型名称与架构 → 确认训练配置。默认情况下模型会基于在 COCO 上预训练的权重初始化以缩短训练时间可通过高级选项关闭该行为。对于实例Instance的选择即使用哪类云端算力资源以及对应的配置请参阅 HUB 的 Instances 指南页面。实例决定训练速度与计费单价是云端训练成本的关键变量。三步启动一次云端训练选定实例后在 HUB 上训练一个模型只需要三个步骤选择数据集从 Datasets 页面选择已上传的数据集数据集的添加/删除方法见 Datasets 页面选择模型选择要训练的模型与架构模型的创建、分享与管理方法见 HUB Models 页面在选定数据集上训练指定训练时长与支付方式点击启动。在启动页面HUB 会提供三种训练入口Ultralytics Cloud本页主题、Google Colab生成 Colab Notebook 代码块与Bring your own agent在本地/自建服务器上训练。按界面提示完成选择即可开始训练。通过 Ultralytics Cloud 训练选择 Ultralytics Cloud 后你只需配置三项内容Training Duration训练时长、Available Instances可用实例与Payment支付方式。其中训练时长有两种模式二者的计费逻辑差异较大维度按 Epoch 训练Epochs定时训练Timed Training计费依据数据集完整跑完训练-标注-测试循环的次数固定的训练时间长度费用确定性按 Epoch 定价难以精确预估训练开始前即可得到预估金额额度耗尽处理训练暂停并提示充值后继续时间到即结束预算可控适用场景以模型精度收敛为目标预算/时间严格受限的场景按 Epoch 训练时若信用额度credit在到达目标 Epoch 数之前耗尽训练会自动暂停并提示你充值后续训定时训练则在训练开始前就能确定整个过程的预计费用方便控制预算。启动训练后你可以点击Done关闭该窗口然后在 Model 页面上持续观察训练进度。监控训练进度训练启动后可以从 Model 页面的Train区块监控整个训练过程。对于 Google Colab 或自带 agent 的训练方式终端中会输出一个训练监控链接对于 Ultralytics Cloud 训练则直接通过页面上的按钮进入监控视图。在源码层面训练指标的上报由 ultralytics/utils/callbacks/hub.py 中的回调完成on_fit_epoch_end每个 epoch 结束时把损失label_loss_items与验证指标trainer.metrics打包成 JSON 放入metrics_queue第一个 epoch 还会额外附上模型信息model_info_for_loggers。该回调受 3 秒的指标上报限频rate_limits[metrics]约束见 ultralytics/hub/session.pyon_model_save训练过程中按 900 秒限频向 HUB 上传检查点upload_model便于中途恢复on_train_end训练结束时同步最终模型与 mAP50-95 等指标并停止心跳。这些回调仅在SETTINGS[hub]开启时注册ultralytics/utils/callbacks/hub.pyhub_session由训练器通过 ultralytics/engine/model.py 挂载。指标上传失败时失败队列metrics_upload_failed_queue会在下一轮重试避免训练进度丢失。停止与恢复训练训练开始后你可以随时Stop训练。停止操作会同步暂停信用额度的扣费避免资源浪费。之后可以从停止的位置Resume继续训练无需重新开始。从源码结构看这一能力的底层支撑是训练会话对模型状态的判断HUBTrainingSession._set_train_argsultralytics/hub/session.py会检查model.is_resumable()——若模型已有保存的权重则通过get_weights_url(last)取得最近一次检查点并以{data: 数据集地址, resume: True}作为训练参数恢复训练若模型尚未训练过则从train_args读取全新训练的配置。因此暂停 → 恢复本质上是对 HUB 云端最近一次检查点的续训。计费与账单选项HUB 提供两种付费方式Pay Now立即支付训练前一次性预付Ultralytics HUB Account账户钱包提前向账户充值训练时从余额中扣费余额不足时训练暂停并提示续费。账户类型分为Free免费与Pro付费两种。查看与管理账户信息的方法如下点击左下角的个人头像进入个人主页点击Billing标签页查看当前套餐与升级选项在弹出的套餐列表中选择合适的方案进入 Payment 页面填写支付信息并完成支付。源码视角HUB 训练会话如何工作除了 Web 界面你也可以通过 SDK 直接与 HUB 交互。仓库中的 ultralytics/hub/session.py 定义了HUBTrainingSession它负责模型初始化、心跳维持与检查点同步。一个训练会话的核心要素包括限频rate_limits指标 3 秒、检查点 900 秒、心跳 300 秒各一次防止高频请求触发服务端限流指标队列metrics_queue每个 epoch 的指标先入队再按限频批量上传失败自动重试心跳heartbeat以 300 秒为间隔向 HUB 汇报训练节点存活状态HUB 据此判断 agent 是否在线请求重试request_queue对 408/超时等可恢复错误采用指数退避重试对 429限流会读取Retry-After头提示用户等待。_parse_identifierultralytics/hub/session.py支持四种模型标识格式格式说明https://hub.ultralytics.com/models/MODEL_IDHUB 模型 URLAPI_KEY_MODEL_IDAPI Key42 字符 下划线 模型 ID20 字符MODEL_ID20 字符的纯模型 ID本地.pt/.yaml文件路径本地模型/配置YOLO类初始化时通过is_hub_modelultralytics/engine/model.py识别 HUB 模型链接命中后自动创建HUBTrainingSession并拉取模型文件。认证方面ultralytics/hub/auth.py 的Auth类支持三种方式直接使用 API Keyx-api-key头、Google Colab 中的浏览器 Cookie 认证、以及交互式输入 API Key。也可以通过命令行登录yolo hub login API_KEYAPI Key 可以在 HUB 的Settings → API keys页面获取登录成功后密钥会保存到本地SETTINGS中logout()可清除。环境变量ULTRALYTICS_HUB_API与ULTRALYTICS_HUB_WEB可分别覆盖 API 与 Web 的根地址见 ultralytics/hub/utils.py。训练完成后部署与分享训练完成并同步最终权重后HUB 模型页面会提供丰富的后续操作预览Preview上传自定义图片进行推理验证或通过 Ultralytics Cloud API 直接调用模型做推理见 Inference API还可以在 iOS/Android 手机上通过 HUB 移动应用 实时预览部署Deploy将模型导出为 ONNX、OpenVINO、CoreML、TensorFlow、PaddlePaddle 等多种格式分享Share将模型访问权限设置为 Private 或 Unlisted持有直接链接的人即可查看编辑/删除通过模型操作下拉菜单进行更新或删除。常见问题与注意事项数据集仍在处理中_set_train_args中若train_args缺少data字段会抛出 Dataset may still be processing 的提示此时等待数据集处理完成再重试即可额度耗尽按 Epoch 训练时额度耗尽会暂停训练充值后从最近检查点恢复限流429SDK 会自动读取X-RateLimit-Remaining与Retry-After提示你稍后重试API Key 格式42 字符的 Key 与 20 字符的模型 ID 常以KEY_MODEL形式组合出现Auth会自动拆分也可以只传 Key 或只传模型 ID恢复训练只有模型存在已保存权重is_resumable()为真时才能续训训练完成后模型不可重复训练会提示已上传。综上Ultralytics HUB 云端训练把数据集准备、模型创建、算力调度、计费、监控、恢复整合为一条低门槛链路。理解仓库中ultralytics/hub/的会话与回调实现能帮助你在遇到限流、断线、恢复失败等问题时快速定位原因无论是走 Web 界面还是自建 agent都能把云端训练用得得心应手。【免费下载链接】yolov10YOLOv10: Real-Time End-to-End Object Detection [NeurIPS 2024]项目地址: https://gitcode.com/GitHub_Trending/yo/yolov10创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考