Ultralytics YOLO27:

本地部署#

本地部署可让你的 Enterprise 工作区使用 Linux、macOS 或 Windows 计算机上的数据集和计算资源。源图片和视频保留在你的计算机上。训练方式与其他远程训练位置相同:指标会流式传输到 Platform,训练完成后的模型权重会上传,供你下载、预测、导出和部署。

只需一条命令即可完成设置。Platform 会检测你的操作系统、填写合适的文件夹位置、按需安装 Docker,并显示实时连接进度。

工作原理#

flowchart LR
    A[Your browser] <-->|Interface, labels, and progress| B[Ultralytics Platform]
    A <-->|Dataset previews| C[Your On Premise computer]
    B <-->|Jobs, metrics, and model weights| C
    C --- D[(Dataset folder)]
    C --- E[(Models folder)]

数据边界#

数据你的本地部署计算机Platform 和云服务
源数据集像素及其衍生像素导入、预览和训练均在本地进行绝不存储、记录或处理
类别、标签和标注导入时读取源标签作为数据集的规范元数据存储,以便你在 Platform 中进行标注
训练模型训练运行、最佳检查点和其他训练产物都会写入你的模型文件夹最佳检查点会上传,供你下载、预测、导出和部署;其他产物保留在你的计算机上

模型权重、标签、标注和指标可能包含从图片中学习到的信息。只有数据集像素受到严格的仅限本地边界保护。云端预测只会处理你单独提交到该云端工作流的图片;工作进程绝不会转发已挂载数据集中的图片。

开始之前#

选择一台能够访问数据集、并能在 Platform 使用数据集期间保持开机的计算机:

最低配置推荐配置
操作系统64 位 Linux、Apple 芯片版 macOS,或配备 WSL 2 的 x86-64 Windows当前版本的操作系统和 Docker
CPU4 核使用 CPU 训练时建议配备 8 核或更多核心
内存8 GB RAM16 GB 或更多
存储20 GB 可用空间,并为数据集和模型预留空间SSD 可用空间至少为工作数据集大小的两倍
网络可通过出站 HTTPS 访问 Ultralytics Platform 和 Docker 容器注册表稳定的宽带网络,用于首次下载容器镜像

GPU 并非必需。所有计算机都可以导入数据集并使用 CPU 训练模型。兼容的 NVIDIA GPU 可以加速较大型的训练任务。

企业网络

如果公司限制出站流量,请在设置前允许通过 HTTPS 访问 Ultralytics Platform、Docker 注册表和 Python 软件包下载源。工作进程始终主动连接 Platform,因此无需允许外部访问你的网络。

连接计算机#

  1. 在能够访问数据集的计算机上打开 Ultralytics Platform。
  2. 前往 Settings > Integrations,然后从集成列表中选择 本地部署。
  3. 检查预先填好的 此计算机上的数据集文件夹 和 此计算机上的模型文件夹 路径。
  4. 选择 创建安装命令。
  5. 打开对话框中指定的终端,复制命令并粘贴,然后按 Enter。
  6. 保持“集成”页面打开,直到进度指示器显示 已连接。

Ultralytics Platform 本地部署集成设置

页面会实时跟踪六个设置步骤——运行命令、下载工作进程文件、下载 Docker 镜像、构建工作进程、启动工作进程并确认连接——你无需查看终端即可了解进度。连接主机需要工作区编辑者角色和有效的 Enterprise 计划;使用其他计划的工作区会看到 申请演示 按钮,该按钮会提交 Enterprise 演示申请,而不是创建安装命令。

Platform 会在你复制命令前填入文件夹路径和一次性连接令牌。生成的命令格式如下:

打开 终端 并粘贴:

curl -fsSL 'https://platform.ultralytics.com/api/workers/install?os=linux' \
  | sudo sh -s -- \
    "/datasets" \
    "/models" \
    "YOUR_CONNECTION_TOKEN"
从 Platform 复制你的命令

Platform 会自动在命令中加入连接令牌。该令牌用于证明此计算机获准连接到你的工作区,有效期为 10 分钟,且只能使用一次。你无需单独输入令牌。生成的命令有效期间,请勿分享。

默认设置无需修改即可使用:

LinuxmacOS 和 Windows
数据集文件夹/datasets~/Ultralytics/datasets
模型文件夹/models~/Ultralytics/models

设置命令会创建这些文件夹,在需要时安装并启动 Docker,还会将连接配置为随计算机启动而重启。操作系统可能会要求你批准安装或重启,之后设置才能完成。

Docker 基础镜像#

安装程序会运行一个容器,并根据主机选择官方 Ultralytics 基础镜像:

主机基础镜像模式
Apple 芯片或 ARM64 Linuxultralytics/ultralytics:latest-arm64
x86-64 CPUultralytics/ultralytics:latest-cpu
搭载受支持 NVIDIA GPU 的 x86-64 主机ultralytics/ultralytics:latest

构建工作进程时会添加连接所需的依赖项,并将镜像中的 Ultralytics 软件包更新到最新版本。 设置时会检测 CUDA,因此搭载 NVIDIA GPU 的主机仍只运行一个容器,无需分别运行 CPU 和 GPU 工作进程。最佳检查点上传后,Platform 云服务会负责模型预测和导出。

使用 CDI 访问 GPU

CPU 设置无需执行引导式安装以外的操作。在 Linux 上,NVIDIA GPU 加速需要 Docker >= 28.2 和 NVIDIA Container Toolkit >= 1.18。Platform 会在 Linux 和 Windows 上自动检测受支持的 GPU 路径,而 macOS 主机使用 CPU 训练;设置详情请参阅 Docker 快速入门指南。

添加数据集#

  1. 将数据集放入已配置的数据集文件夹中。
  2. 在 Platform 中,选择 新建数据集 > 本地部署。
  3. 选择已连接的计算机。
  4. 浏览到数据集文件夹,选择任务,然后选择 创建。

Platform 会在本地为数据集建立索引,并在与上传数据集和云存储数据集相同的图库中打开数据集。你可以预览图片、检查标签、筛选数据集和进行标注,全程无需上传图片像素。

支持的数据#

本地部署支持与上传数据相同的导入格式和计算机视觉任务:

  • 图片和视频
  • ZIP、TAR、TAR.GZ 和 TGZ 压缩包
  • Ultralytics 和 Labelbox NDJSON、COCO JSON 以及 LabelMe JSON
  • YOLO 数据集和分类文件夹
  • 检测、分割、语义分割、分类、姿态和定向边界框(OBB)任务

Platform 会自动识别常见的数据集布局、类别、标签以及训练/验证/测试划分。数据集文件夹以只读方式挂载,因此 Platform 绝不会调整大小、重新编码、编辑或删除源文件。导入期间生成的所有内容——解压的压缩包、下载的 NDJSON 资源和视频帧——都会写入同一台计算机上的专用 Docker 卷。

预览和标注#

打开图片时,浏览器会直接从已连接的计算机加载图片。无需配置证书、主机名、VPN 或预览。

标注和数据集整理内容会保存在你的 Platform 工作区中,但你在 Platform 中的编辑不会更改源图片或标签文件。

训练模型#

通过常规的 Platform 训练对话框启动训练:

  1. 打开一个项目,然后选择 新建模型。
  2. 选择本地部署数据集。
  3. 选择模型和训练设置。
  4. 开始训练。

Platform 会在已连接的计算机上运行任务。系统会使用可用的 NVIDIA GPU;如果没有,则自动切换到 CPU。因此,即使没有专用 GPU 硬件,Mac 也能使用 COCO8 训练 YOLO26n 这类小型模型。

运行期间,训练文件会写入已配置的模型文件夹。Ultralytics 软件包使用的回调与任何客户自行管理的计算机上的远程训练相同:进度和指标会流式传输到 Platform,最佳检查点会上传到 Platform 存储,训练完成的模型可使用现有的下载、预测、导出和部署流程。其他训练产物会保留在你的模型文件夹中。本地部署训练不会使用 Platform 计算额度,Platform 也绝不会将训练任务发送到云端计算资源。

管理连接#

打开 Settings > Integrations,查看每台计算机的主机名和硬件、CPU 和 GPU 是否在线,以及上次报告状态的时间。关闭或失去连接的计算机会显示为 Offline,并附有最后一次在线的详情;其数据集会暂时不可用,而不会回退到云计算。工作进程会随 Docker 启动,并在计算机恢复在线后自动重新连接;无需重新运行任何操作。

工作进程会自动更新。 每次容器启动时,以及空闲期间每隔 10 分钟,工作进程都会从 Platform 下载更新版本的代码并重启以应用更新。运行作业期间不会重启。在自动更新功能推出前连接的计算机,只需运行一次新的安装命令,就会开始更新。

在已连接的计算机上再次运行安装命令,即可更改文件夹或刷新 Docker 镜像。计算机仍使用同一主机,因此数据集会继续正常运行,也不会出现重复主机。

每台计算机对应一个工作区。 一台计算机运行一个工作进程。从另一个工作区运行安装命令会将计算机迁移到该工作区,并断开它在原工作区中的主机连接。

重新连接会为已断开的主机生成新的安装命令。在应该为该主机提供服务的计算机上运行此命令,现有数据集就会恢复使用,无需重新导入。只有仍有数据集或模型依赖的已断开主机才会继续列出。

断开连接会立即撤销该主机的访问权限。绑定到该主机的排队中、正在启动和运行中的作业都会被取消,包括正在进行的训练;仍在导入的数据集也会导入失败,错误信息为 On Premise host disconnected during ingest.。已完成导入的数据集会保留其类别、标签和注释,但在重新连接前无法预览或用于训练。计算机上的任何内容都不会被删除,已上传到 Platform 的模型仍可用。

当前限制#

  • 不会重新扫描。 创建数据集时只会为其编制一次索引。如果源文件之后发生变化,Platform 不会检测到;要纳入这些变化,请创建新数据集。
  • 无法使用依赖 Platform 副本的功能。 本地部署数据集不支持需要在 Platform 上存储图像副本的功能:自动标注、聚类分析、数据集克隆和不可变的版本快照。
  • 训练不会迁移。 如果工作进程在运行期间停止,作业会失败,而不会转移到其他地方重新启动。
  • 模型文件会保留在主机上。 在 Platform 中删除或移至废纸篓的模型只会从 Platform 中移除,不会从你的 models 文件夹中删除;运行不再需要时,请自行清理该文件夹。

删除本地部署数据集或其中的单张图像,只会移除 Platform 中的引用和注释,不会触碰你的文件。

设置未能完成时#

  • Docker 请求权限:批准提示并等待 Docker 启动。设置会自动继续。
  • Windows 要求重启:重启计算机,返回 Settings > Integrations,然后创建新的安装命令。
  • 设置命令已过期:创建新的安装命令。每条命令都是临时的,且只能使用一次。
  • 另一台计算机已重新连接此主机:另一台计算机先为同一主机运行了“重新连接”命令。请为这台计算机创建新的安装命令。
  • 连接仍处于离线状态:打开 Docker Desktop,重新运行新生成的命令,并保持终端打开,直到它报告本地部署正在运行。
  • 预览无法加载:在已连接的计算机上通过浏览器打开 Platform。数据集预览直接从该计算机获取。
  • 需要查看工作进程日志:安装程序在 Linux 上写入 /opt/ultralytics-worker,在 macOS 和 Windows 上写入 ~/.ultralytics/worker。在该文件夹中运行 docker compose logs -f,即可实时查看工作进程日志。

另请参阅数据集、标注和训练。

常见问题#

  • 数据集像素不会离开本地。导入、预览和训练时都会在本地读取数据。类别、标签、注释、训练指标和最佳检查点会存储在 Platform 中,供你进行标注、下载、预测、导出和部署。请参阅数据边界。

  • 不需要。每台主机都可以导入数据集并使用 CPU 训练;在 Linux 或 Windows 上兼容的 NVIDIA GPU 会自动加速较大的作业。本地部署训练不会使用 Platform 计算额度。

  • 其数据集会暂时不可用,运行中的作业会失败,而不会转移到云计算。已完成导入的数据集会保留其类别、标签和注释,并在主机重新连接后恢复使用。

  • 数据集创建时只会编制一次索引,不会重新扫描。请根据更新后的文件夹创建新数据集,以纳入这些变化。

  • 安装程序在 Linux 上写入 /opt/ultralytics-worker,在 macOS 和 Windows 上写入 ~/.ultralytics/worker。在该文件夹中运行 docker compose logs -f。

评论