AzureML 上的 YOLO11 🚀
什么是 Azure?
Azure 是 Microsoft 的 云计算 平台,旨在帮助组织将其工作负载从本地数据中心迁移到云端。凭借包括计算、数据库、分析、机器学习和网络在内的全方位云服务,用户可以选择这些服务来开发和扩展新应用程序,或在公共云中运行现有应用程序。
什么是 Azure 机器学习 (AzureML)?
Azure 机器学习(通常称为 AzureML)是一种完全托管的云服务,使数据科学家和开发人员能够有效地将预测分析嵌入到他们的应用程序中,帮助组织使用海量数据集并将云的所有优势带到机器学习中。AzureML 提供了各种服务和功能,旨在使机器学习易于访问、易于使用和可扩展。它提供诸如自动化机器学习、拖放模型训练以及强大的 Python SDK 等功能,以便开发人员可以充分利用他们的机器学习模型。
AzureML 如何使 YOLO 用户受益?
对于 YOLO(You Only Look Once)的用户,AzureML 提供了一个强大、可扩展且高效的平台,用于训练和部署机器学习模型。无论您是希望运行快速原型还是扩展以处理更广泛的数据,AzureML 灵活且用户友好的环境都提供了各种工具和服务来满足您的需求。您可以利用 AzureML 来:
- 轻松管理大型数据集和用于训练的计算资源。
- 利用内置工具进行数据预处理、特征选择和模型训练。
- 通过 MLOps(机器学习操作)功能更有效地协作,包括但不限于模型和数据的监控、审计和版本控制。
在后续章节中,您将找到一个快速入门指南,详细介绍如何使用 AzureML 从计算终端或笔记本电脑运行 YOLO11 对象检测模型。
准备工作
在开始之前,请确保您有权访问 AzureML 工作区。如果没有,您可以按照 Azure 的官方文档创建一个新的 AzureML 工作区。此工作区充当管理所有 AzureML 资源的中心位置。
创建计算实例
从您的 AzureML 工作区中,选择“计算”>“计算实例”>“新建”,然后选择具有所需资源的实例。
从终端快速开始
启动您的计算并打开终端:
创建 virtualenv
使用您喜欢的 python 版本创建您的 conda virtualenv,并在其中安装 pip:Python 3.13.1 在 AzureML 中存在一些依赖问题。
conda create --name yolo11env -y python=3.12
conda activate yolo11env
conda install pip -y
安装所需的依赖项:
cd ultralytics
pip install -r requirements.txt
pip install ultralytics
pip install onnx
执行 YOLO11 任务
Predict:
yolo predict model=yolo11n.pt source='https://ultralytics.com/images/bus.jpg'
使用 0.01 的初始 learning_rate 训练一个检测模型 10 个 epochs:
yolo train data=coco8.yaml model=yolo11n.pt epochs=10 lr0=0.01
您可以在此处找到更多关于使用 Ultralytics CLI 的说明。
从 Notebook 快速开始
创建一个新的 IPython 内核
打开计算终端。
从您的计算终端,您需要创建一个新的 ipykernel(使用特定的 python 版本 - 因为 Python 3.13.1 在 AzureML 中与某些依赖项存在一些问题),您的 notebook 将使用它来管理您的依赖项:
conda create --name yolo11env -y python=3.12
conda activate yolo11env
conda install pip -y
conda install ipykernel -y
python -m ipykernel install --user --name yolo11env --display-name "yolo11env"
关闭您的终端并创建一个新的 notebook。从您的 Notebook 中,您可以选择新的内核。
然后,您可以打开一个 Notebook 单元格并安装所需的依赖项:
%%bash
source activate yolo11env
cd ultralytics
pip install -r requirements.txt
pip install ultralytics
pip install onnx
请注意,我们需要使用 source activate yolo11env
对于所有的 %%bash 单元格,请确保 %%bash 单元格使用我们想要的环境。
使用 Ultralytics CLI 运行一些预测:
%%bash
source activate yolo11env
yolo predict model=yolo11n.pt source='https://ultralytics.com/images/bus.jpg'
或者使用 Ultralytics python 接口,例如训练模型:
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n.pt") # load an official YOLO11n model
# Use the model
model.train(data="coco8.yaml", epochs=3) # train the model
metrics = model.val() # evaluate model performance on the validation set
results = model("https://ultralytics.com/images/bus.jpg") # predict on an image
path = model.export(format="onnx") # export the model to ONNX format
您可以按照上面终端部分中的描述,使用 Ultralytics CLI 或 Python 接口来运行 YOLO11 任务。
通过遵循这些步骤,您应该能够在 AzureML 上快速运行 YOLO11 以进行快速试验。对于更高级的用法,您可以参考本指南开头链接的完整 AzureML 文档。
使用 AzureML 探索更多
本指南旨在向您介绍如何在 AzureML 上启动并运行 YOLO11。然而,这仅仅是 AzureML 功能的冰山一角。要更深入地了解并充分发挥 AzureML 在机器学习项目中的潜力,请考虑探索以下资源:
- 创建数据资产:了解如何在 AzureML 环境中有效设置和管理数据资产。
- 启动 AzureML 作业:全面了解如何在 AzureML 上启动机器学习训练作业。
- 注册模型:熟悉模型管理实践,包括注册、版本控制和部署。
- 使用 AzureML Python SDK 训练 YOLO11:探索有关使用 AzureML python SDK 训练 YOLO11 模型的逐步指南。
- 使用 AzureML CLI 训练 YOLO11:了解如何利用命令行界面在 AzureML 上简化 YOLO11 模型的训练和管理。
常见问题
如何在 AzureML 上运行 YOLO11 以进行模型训练?
在 AzureML 上运行 YOLO11 进行模型训练涉及以下几个步骤:
-
创建计算实例: 从您的 AzureML 工作区,导航到计算 > 计算实例 > 新建,然后选择所需的实例。
-
设置环境: 启动您的计算实例,打开一个终端,创建一个 conda 环境,并且不要忘记设置您的 python 版本(目前不支持 python 3.13.1):
conda create --name yolo11env -y python=3.12 conda activate yolo11env conda install pip -y pip install ultralytics onnx
-
运行 YOLO11 任务:使用 Ultralytics CLI 训练您的模型:
yolo train data=coco8.yaml model=yolo11n.pt epochs=10 lr0=0.01
更多详情,您可以参考使用 Ultralytics CLI 的说明。
使用 AzureML 进行 YOLO11 训练有哪些好处?
AzureML 提供了一个强大而高效的生态系统,用于训练 YOLO11 模型:
- 可扩展性:随着您的数据和模型复杂性的增长,可以轻松扩展您的计算资源。
- MLOps 集成: 利用版本控制、监控和审计等功能来简化 ML 操作。
- 协作 (Collaboration): 在团队内共享和管理资源,从而增强协作工作流程。
这些优势使 AzureML 成为从快速原型设计到大规模部署的理想平台。有关更多提示,请查看 AzureML Jobs。
如何解决在 AzureML 上运行 YOLO11 时的常见问题?
解决 YOLO11 在 AzureML 上的常见问题可能涉及以下步骤:
- 依赖问题:确保安装所有必需的包。请参考
requirements.txt
文件,用于指定依赖项。 - 环境设置: 在运行命令之前,请确认您的conda环境已正确激活。
- 资源分配:确保您的计算实例有足够的资源来处理训练工作负载。
如需其他指导,请查看我们的 YOLO 常见问题 文档。
是否可以在 AzureML 上同时使用 Ultralytics CLI 和 python 接口?
是的,AzureML 允许您无缝使用 Ultralytics CLI 和 Python 接口:
-
CLI: 适合快速完成任务以及直接从终端运行标准脚本。
yolo predict model=yolo11n.pt source='https://ultralytics.com/images/bus.jpg'
-
Python 接口: 适用于需要自定义编码以及在 notebooks 中集成的更复杂任务。
from ultralytics import YOLO model = YOLO("yolo11n.pt") model.train(data="coco8.yaml", epochs=3)
有关分步说明,请参阅 CLI 快速入门指南 和 Python 快速入门指南。
与其他目标检测模型相比,使用 Ultralytics YOLO11 有什么优势?
与同类对象检测模型相比,Ultralytics YOLO11 具有以下几个独特的优势:
- 速度:与 Faster R-CNN 和 SSD 等模型相比,具有更快的推理和训练时间。
- 准确性: 在检测任务中具有高准确性,具有无锚框设计和增强的增强策略等功能。
- 易于使用:直观的 API 和 CLI,可快速设置,使初学者和专家都可以访问。
要了解更多关于 YOLO11 的功能,请访问 Ultralytics YOLO 页面以获取详细信息。