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

容器化

了解容器化如何简化人工智能部署。探索如何使用 Docker 和 Kubernetes 在任何环境中一致运行Ultralytics 。

容器化是一种软件部署策略,它将应用程序的源代码与其库文件、依赖项和配置文件打包成单一的轻量级可执行单元,即容器。这种方法将软件与底层基础设施解耦,确保应用程序在从开发者本地笔记本电脑到大型云计算集群等各种计算环境中都能保持一致运行。 在机器学习(ML)领域,容器化通过封装训练和运行神经网络所需的复杂环境,有效解决了困扰业界的"在我机器上运行正常"问题。

容器化为何对人工智能至关重要

对于数据科学家和机器学习工程师而言,环境管理是一项重大挑战。不同项目可能需要冲突Python版本、CUDA 或PyTorch等库。容器化通过创建隔离的、不可变的环境来消除这些冲突。

  • 可移植性:容器化的计算机视觉应用程序可在开发、测试和生产环境之间无缝迁移。这确保了在工作站上训练的模型部署到服务器后,其运行表现完全一致。
  • 效率:与传统方法不同,容器共享宿主系统的操作系统(OS)内核,使其极其轻量化。这种高密度特性实现了更优的资源利用率,这对降低实时应用中的推理延迟至关重要。
  • 可扩展性:现代编排工具能够根据流量需求快速启动或关闭容器实例,确保高需求服务的可扩展性

容器化与虚拟机

区分容器与虚拟机(VM)至关重要。虚拟机模拟完整的硬件堆栈,包括完整的客户操作系统,这会导致显著的资源开销和较慢的启动时间。 相比之下,容器化技术通过虚拟化操作系统,使多个应用程序能在共享内核上作为隔离进程运行。这种精简的运行方式使容器成为硬件资源受限场景(如物联网设备或无人机)中边缘AI应用的首选方案。如需深入的技术对比,请参阅红帽关于容器与虚拟机的指南。

核心技术

若干关键技术构成了现代容器生态系统的核心支柱:

  • Docker构建、运行和管理容器最广泛使用的平台。Ultralytics Docker快速入门指南,帮助用户轻松部署目标检测模型,无需手动配置环境。
  • Kubernetes一个开源系统,用于自动化部署、扩展和管理容器化应用程序。它对于管理企业机器学习运维(MLOps)管道中的大型容器集群至关重要。
  • 容器注册表:诸如 NVIDIA 目录之类的服务存储并分发容器镜像,这些镜像通常 针对特定任务进行了预优化,例如GPUGPU的 模型训练。
  • 开放容器倡议(OCI):开放容器倡议组织推动的行业标准,确保容器格式和运行时在不同平台间兼容。

实际应用

容器化技术在现代人工智能工作流中无处不在,它能够实现快速迭代和可靠部署。

  1. 智慧城市监控:市政部门部署 基于联网摄像头的交通管理系统。 通过容器技术,工程师可同时向数千台边缘设备推送软件更新。 若新型物体检测模型提升了识别精度, 容器将通过空中升级实现更新, 确保整个城市基础设施的性能保持一致。
  2. 可重复研究:在学术与工业研究中,结果的可重复性至关重要。通过发布包含精确训练数据处理脚本和模型架构的Docker镜像,研究人员确保同行评审者能够精确复现实验。这对验证深度学习(DL)领域的进展具有关键意义。

示例:容器中的推理

在为人工智能应用创建容器时,通常会包含一个用于处理的脚本。 模型服务以下Python 代码片段 演示了使用 ultralytics 该脚本将在容器内部运行,利用环境中预先安装的依赖项。

from ultralytics import YOLO

# Load the YOLO26 model (weights are usually baked into the container image)
# YOLO26 is the latest state-of-the-art model for real-time tasks
model = YOLO("yolo26n.pt")

# Perform inference on an image URL
# In production, this might handle API requests or video streams
results = model.predict("https://ultralytics.com/images/bus.jpg")

# Print the number of detected objects to the logs
print(f"Inference complete. Detected {len(results[0].boxes)} objects.")

通过将此逻辑封装在容器中,开发人员可确保Python 和库Python 保持不变,从而避免生产环境中出现意外故障。为简化模型管理、训练和部署流程,众多团队采用Ultralytics Ultralytics 原生支持基于容器的工作流。如需深入了解部署策略,请参阅AWS容器使用场景指南。

加入Ultralytics 社区

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

立即加入