Ultralytics YOLO27: 加入候补名单。
获取 YOLO 许可
Ultralytics 平台

如何将 Ultralytics YOLO 模型从 W&B 迁移到 Ultralytics Platform

将 Ultralytics YOLO 模型从 Weights & Biases (W&B) 导入 Ultralytics Platform,无需重新训练,然后比较实验、导出并部署模型。

OLOlivia Wang9 分钟阅读
如何将 Ultralytics YOLO 模型从 W&B 迁移到 Ultralytics Platform

在计算机视觉项目中,训练模型只是工作流的一部分。随着实验数量增加,你还需要管理模型版本、跟踪训练指标、比较结果,并将训练好的模型用于实际应用。

Weights & Biases (W&B) 是机器学习领域广泛使用的实验跟踪工具。如果你使用 Ultralytics YOLO,可能已经在使用 W&B 记录训练指标,例如损失、mAP、精确率和召回率,管理模型权重,并可视化实验表现。

随着项目从实验阶段迈向部署阶段,你可能希望在一个地方管理模型、评估模型性能、导出模型并进行部署。

Ultralytics Platform 可以直接从 W&B 导入符合条件的 Ultralytics YOLO 模型检查点及其训练记录。你无需重新训练:模型导入后,即可测试推理、导出模型并进行部署。

本指南介绍如何准备模型和训练记录、通过 W&B 集成导入模型、手动上传检查点,以及在 Ultralytics Platform 中跟踪后续训练运行。

迁移前:检查现有模型和训练数据#

在 W&B 中,一次训练实验通常对应一个运行,多个运行可以归入同一个项目。模型权重和其他训练输出可以作为制品存储和版本管理。

迁移 Ultralytics YOLO 模型前,请检查以下内容:

  • 模型权重:例如 best.pt 这样的文件,其中保存了训练过程中表现最佳的检查点。
  • 训练配置:例如学习率、训练轮数和图像尺寸等参数。
  • 训练指标:例如损失、mAP、精确率和召回率等指标。
  • 训练历史:实验记录以及每个训练轮次记录的指标。

Ultralytics Platform 可以导入哪些内容?#

通过官方 W&B 集成,Ultralytics Platform 可以访问符合条件的模型制品,并读取其检查点中存储的信息。

数据类型导入支持情况
Ultralytics YOLO 模型权重(best.pt)支持
模型架构、任务类型和元数据支持
检查点中存储的训练配置支持
已保存的训练指标支持
W&B 运行历史中的训练曲线需要时且存在数据时获取
原始数据集和标注文件不会自动迁移
W&B 专属内容,例如 sweep 和报告不包含在自动导入中

能够迁移多少训练历史,取决于原始模型文件和 W&B 中存储的数据。如果检查点不包含逐轮训练指标,Ultralytics Platform 会尝试从 W&B 运行历史中获取训练曲线。我们建议你在开始前备份重要的模型文件和实验数据。

通过 W&B 集成导入 Ultralytics YOLO 模型#

如果你的 W&B 项目中已有 Ultralytics YOLO 模型的 best.pt 检查点,可以使用 Ultralytics Platform 内置的 W&B 集成。你可以直接在浏览器中完成导入,无需手动逐个下载并重新上传模型。

步骤 1:登录 Ultralytics Platform#

打开 Ultralytics Platform 并登录,然后切换到要导入模型的工作区。

你需要在该工作区拥有编辑者或更高角色,才能导入模型。导入的模型会计入工作区的存储空间和模型数量限制。所有套餐均支持 W&B 导入。

步骤 2:打开 W&B 集成#

在 Ultralytics Platform 中,依次前往 Settings → Integrations → Weights & Biases。你可以在此处从 W&B 导入现有的 Ultralytics YOLO 模型。

步骤 3:连接 W&B 账户#

从 W&B 授权页面获取 API 密钥。返回 Ultralytics Platform,粘贴密钥,然后点击 Connect。

连接后,Ultralytics Platform 会显示你的密钥能够访问的 W&B 项目,包括你自己的项目和团队项目,以及可供导入的模型。请确保 API 密钥具有读取要迁移项目的权限。

安全提示:API 密钥属于敏感凭据。不要将密钥提交到公开代码仓库,也不要与他人分享。

工作区所有者使用 W&B API 密钥连接后,Ultralytics Platform 会对密钥加密存储,并在该工作区后续导入时重复使用,因此你无需再次输入。只有所有者可以添加、替换或删除已保存的密钥。其他工作区成员输入的密钥仅用于该次导入。

步骤 4:选择要导入的项目#

连接后,列表会显示你的 API 密钥能够访问且包含模型制品的 W&B 项目。等待模型详情加载,然后选择要迁移的项目。

Ultralytics Platform 按项目导入:它会尝试导入你所选项目中的每个符合条件的模型。符合条件的模型需满足以下要求:

  1. 其 W&B 运行中包含带有 best.pt 检查点的模型制品。
  2. 其任务类型受 Ultralytics Platform 支持。
  3. 其检查点未超过 1 GB 的模型上传大小限制。

不包含任何符合条件模型的项目无法选择。

步骤 5:开始导入#

选择项目后,点击 Import N,其中 N 是你选择的项目数量。Ultralytics Platform 会开始导入符合条件的模型,并在后台上传跟踪器中显示进度。

请保持浏览器标签页打开,直到上传完成。上传期间,你可以继续浏览 Ultralytics Platform 的其他页面。

步骤 6:检查导入的模型#

导入完成后,打开对应的项目并选择一个模型以查看详情。每个 W&B 项目都会导入到同名的 Ultralytics Platform 项目中;如果该项目尚不存在,系统会创建它。

对于每个导入的模型,你都可以查看可用信息,例如架构、任务类型、类别名称、训练配置和训练指标。如果原始检查点不包含逐轮训练结果,Ultralytics Platform 还会尝试从 W&B 运行历史中获取这些结果。

现有的 Ultralytics YOLO 模型现在已准备就绪,你可以在 Ultralytics Platform 中管理、测试和使用这些模型。

Ultralytics Platform 设置中的 Weights & Biases 集成,已连接 W&B API 密钥,并选中用于导入的 warehouse-safety 检测项目

替代方案:手动上传现有模型权重#

如果模型保存在本地,你可以直接将模型上传到 Ultralytics Platform。

训练好 Ultralytics YOLO 目标检测模型后,输出目录通常如下所示:

runs/
└── detect/
    └── train/
        └── weights/
            ├── best.pt
            └── last.pt

best.pt 文件包含训练过程中表现最佳的检查点,通常用于推理和部署。

在 Ultralytics Platform 中打开目标项目。将 .pt 文件拖放到项目页面或模型侧边栏中,或者点击 Upload models 并选择本地文件。上传完成后,Ultralytics Platform 会自动读取受支持的模型元数据,例如任务、架构和类别名称。

要在上传前确认模型能否正确加载,你可以使用 Ultralytics Python 包快速运行一次预测:

from ultralytics import YOLO

# 加载本地模型
model = YOLO("best.pt")

# 运行推理
results = model.predict(
    source="test.jpg",
    conf=0.25,
)

print(results)

将示例路径替换为模型权重和测试图像的路径。

请注意,手动上传无法恢复原始检查点中未保存的训练历史。

现有模型准备就绪后,你也可以将后续 Ultralytics YOLO 训练运行直接发送到 Ultralytics Platform。

在 Ultralytics Platform 中跟踪新的训练运行#

以下示例使用 Ultralytics YOLO26,演示如何在自己的计算机上训练模型,同时将训练指标实时传输到 Ultralytics Platform。

步骤 1:安装或更新 Ultralytics#

pip install -U ultralytics

要将本地训练指标实时传输到 Ultralytics Platform,需要满足以下条件:

  • Python 3.11 或更高版本
  • ultralytics 8.4.120 或更高版本

如果你之前使用 W&B 跟踪实验,并希望后续运行只向 Ultralytics Platform 报告数据,可以关闭 W&B 日志记录:

yolo settings wandb=False

这不会删除已存储在 W&B 中的任何实验数据。

步骤 2:设置 Ultralytics Platform API 密钥#

在 Ultralytics Platform 中,依次前往 Settings → API Keys。工作区所有者可以创建用于训练的密钥:点击 Add Key,选择 Ultralytics,输入名称,然后点击 Create Key。

在 Linux 或 macOS 上,将其设置为环境变量:

export ULTRALYTICS_API_KEY="YOUR_API_KEY"

将 YOUR_API_KEY 替换为你的密钥,并确保不要将密钥放入公开代码仓库。

步骤 3:训练 YOLO26#

此示例使用 COCO8 示例数据集训练 YOLO26n:

yolo train \
  model=yolo26n.pt \
  data=coco8.yaml \
  epochs=5 \
  project=your-username/my-project \
  name=experiment-1

以下是各参数的作用:

  • model:要训练的模型。
  • data:数据集配置。
  • epochs:训练轮数。
  • project:Ultralytics Platform 中的目标项目,格式为 username/project。
  • name:本次实验的名称。

将 your-username/my-project 替换为你的工作区用户名和项目名称。

你也可以使用 Python API 完成相同操作:

from ultralytics import YOLO

model = YOLO("yolo26n.pt")

model.train(
    data="coco8.yaml",
    epochs=5,
    project="your-username/my-project",
    name="experiment-1",
)

训练开始后,受支持的指标会实时传输到 Ultralytics Platform。

若想更轻松地完成设置,请打开 Ultralytics Platform 训练对话框中的 Local Training 选项卡,然后复制生成的命令;该命令已包含你的 API 密钥。

步骤 4:查看训练结果#

打开模型的 Train 选项卡,查看训练期间记录的内容,包括:

  • 训练和验证损失
  • 模型指标,例如精确率、召回率和 mAP
  • 学习率随时间的变化
  • 验证图表(如果可用)
  • 控制台日志
  • 系统资源,包括 GPU、CPU 和内存使用情况

使用这些记录分析训练情况,并比较不同配置和模型规模的性能。

迁移后可以做什么#

模型进入 Ultralytics Platform 后,你可以测试、导出、比较和部署模型。

在浏览器中测试模型#

打开模型页面上的 Predict 选项卡,上传图像,即可立即查看模型的预测结果。

将模型导出为不同格式#

Ultralytics Platform 可以将模型导出为多种部署格式,包括 ONNX、TensorRT和 CoreML。根据模型任务和部署硬件选择格式。

在项目中比较实验#

你可以直接在项目页面比较实验。下面介绍 W&B 概念与 Ultralytics Platform 的对应关系:

W&BUltralytics Platform
项目项目
运行模型
工作区面板:叠加显示多次运行的曲线项目页面上的图表
运行表格项目页面上的 Table 视图

从同一个 W&B 项目导入的模型会进入同一个 Ultralytics Platform 项目,因此导入完成后,你可以比较这些模型已有的训练结果。

图表对比#

从左侧模型列表中选择要比较的模型。右侧面板会叠加显示这些模型的曲线,并按 Metrics、Loss 和 Learning Rate 等类别分组。根据任务和可用数据,这些曲线包括 mAP50-95、精确率、召回率,以及各项训练损失和验证损失。将鼠标悬停在曲线上可查看准确数值;使用图例显示或隐藏模型;点击并拖动可放大查看某个区域。

Ultralytics Platform 中的 YOLO26 项目,已选择 25 个模型,叠加显示精确率和召回率曲线,并显示第 25 个 epoch 召回率数值的工具提示

表格对比#

切换到 Table 视图,即可并排比较所选模型的训练参数和最终指标。启用 Diff 后,只显示模型间数值不同的列,便于找出可能影响结果的超参数。

Ultralytics Platform 中 YOLO26 项目的表格视图,已启用 Diff 模式,显示模型间 171 列中有 115 列存在差异,例如批量大小、框损失权重和缓存设置

继续构建计算机视觉项目#

Ultralytics Platform 还涵盖数据集管理、标注、云端 GPU 训练、模型管理和模型部署,因此随着项目发展,你可以将更多工作流程整合到一个平台中。

常见问题

  • 通常不需要。如果你有符合条件的 best.pt 检查点,就可以直接将其导入 Ultralytics Platform,无需重新训练。你也可以手动上传本地保存的 Ultralytics YOLO 检查点。

  • 可以。你可以选择整个项目,Ultralytics Platform 会导入其中所有符合条件的模型。原始数据集、报告和 sweep 配置不会复制。

  • 请确认运行记录包含含有 best.pt 的模型工件、模型任务受支持、检查点不超过 1 GB,并且你的 API 密钥有权读取该项目。名称解析为保留项目名 deploy 的 W&B 项目无法直接导入。请从 W&B 下载其检查点,然后将检查点上传到其他 Ultralytics Platform 项目。如果目标项目位于 Trash 中,请先恢复该项目或将其永久删除,然后再重试。

  • 这取决于原始数据。Ultralytics Platform 使用检查点中逐 epoch 保存的结果。如果检查点中没有这些结果(较旧版本 Ultralytics 生成的检查点通常如此),平台会尝试从 W&B 运行历史中获取曲线。对于从未记录或无法访问的指标,则无法恢复。

  • 每次导入都会创建新的模型记录,而不是覆盖现有记录。如果模型名称已存在,Ultralytics Platform 会在名称后添加数字后缀。

  • 可以。Ultralytics 继续支持官方 W&B 集成,因此你可以选择最适合项目的实验跟踪工具。有关在 W&B 中跟踪 YOLO 训练的操作指南,请参阅借助 Weights & Biases 强化 Ultralytics。

将 W&B 实验导入 Ultralytics Platform#

借助内置的 W&B 集成,你可以将符合条件的 Ultralytics YOLO 检查点及其现有训练记录导入 Ultralytics Platform,无需重新训练。本地保存的检查点也可以手动上传。

之后,你可以在同一个平台中跟踪新的训练运行、比较模型性能、运行推理、导出模型并进行部署。

试用 Ultralytics Platform

Explore solutions

体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来