深圳Yolo 视觉
深圳
立即加入
词汇表

Docker

Explore how Docker enables reproducible AI workflows. Learn to containerize [YOLO26](https://docs.ultralytics.com/models/yolo26/) for seamless training and deployment.

Docker是一个开源平台,通过容器化技术帮助开发者实现应用程序的自动化部署、扩展和管理。在人工智能和机器学习领域,Docker作为标准化软件单元,将代码及其所有依赖项(如库文件、系统工具和配置)打包封装,确保应用程序能在不同计算环境中快速可靠地运行。 这彻底解决了常见的"在我机器上运行正常"问题,确保在研究人员笔记本电脑上训练的神经网络,部署到大型云服务器或边缘设备时表现完全一致。

Docker为何对人工智能和机器学习至关重要

现代机器学习运维(MLOps)高度依赖可重复性和可移植性。人工智能项目通常涉及复杂的软件栈,包括特定版本的Python、GPU CUDA ,以及深度学习框架如 PyTorchTensorFlow。在不同团队和基础设施间手动管理这些组件极易出错。

Docker通过创建轻量级的独立容器简化了这一过程。与传统虚拟机(VM)需要为每个实例部署完整操作系统不同,容器共享主机操作系统的内核,但在隔离的用户空间中运行。这使得容器在资源利用率和启动速度上具有显著优势,对于扩展模型服务基础设施或运行分布式训练任务至关重要。

实际应用

Docker在人工智能生命周期中无处不在,从最初的实验到最终的部署。

  1. 一致的训练环境:数据科学团队可能使用Docker镜像共享统一的开发环境。例如,从事目标检测研究的科学家可以拉取预构建的镜像,其中包含所有必要的驱动程序和库。这确保了当他们训练YOLO26模型时,无论底层硬件差异如何,其结果都能被同事复现。
  2. 边缘AI部署:智能城市监控中, 更新后的模型需要推送到数千台边缘设备,例如交通摄像头或无人机。Docker容器 使工程师能够打包新模型版本并通过空中升级部署。由于容器包含 推理运行时环境,更新过程无缝衔接,不会干扰设备的核心操作系统。

Docker vs. Kubernetes vs. 虚拟机

区分Docker与相关技术有助于理解其独特作用:

  • Docker 与虚拟机(VM)的对比:虚拟机对硬件进行虚拟化,这意味着每个虚拟机都在管理程序之上运行完整的操作系统(如 Windows 或 Linux)。这种方式会消耗大量内存和CPU。Docker 则对操作系统进行虚拟化,使得容器比虚拟机更小巧、更快速。
  • Docker 与Kubernetes这两者是互补而非竞争的技术。Docker 是用于创建和运行独立容器的工具。Kubernetes 则是管理 Docker 容器集群的容器编排平台,在大型云计算环境中负责自动扩展、负载均衡和自我修复等任务。

示例:在容器中运行推理

以下示例展示了在计算机视觉专用Docker容器中,Python 可能呈现的形态。该脚本使用了 ultralytics 用于加载模型并执行推理的包。容器环境确保了正确的依赖项(如 opencv-pythontorch) 已经 存在。

from ultralytics import YOLO

# Load the YOLO26 model (weights are typically included in the Docker image)
model = YOLO("yolo26n.pt")

# Perform inference on an image source
# In a containerized microservice, this might process incoming API requests
results = model.predict("https://ultralytics.com/images/bus.jpg")

# Log the detection results
print(f"Detected {len(results[0].boxes)} objects in the image.")

将 Docker 集成到工作流程中

要开始使用容器化技术,开发人员通常会定义一个 Dockerfile这是一个文本文件, 包含所有用于构建镜像的命令。构建完成后,这些镜像可存储在注册表中,例如 Docker HubNVIDIA 目录提供GPUGPU容器。

对于希望简化训练和部署流程、无需手动管理DockerfileUltralytics 提供了集成工具来处理云环境的复杂性。这使用户能够专注于提升模型精度,而非耗费精力配置基础设施。此外,您可查阅我们的Docker快速入门指南,了解如何立即在容器中运行Ultralytics 。

加入Ultralytics 社区

加入人工智能的未来。与全球创新者联系、协作和共同成长

立即加入