Skip to content

YOLO11 🚀 on AzureML

什么是Azure?

Azure 是微软的云计算平台,旨在帮助组织将其工作负载从本地数据中心迁移到云端。Azure提供了一系列全面的云服务,包括计算、数据库、分析、机器学习和网络服务,用户可以根据需要选择这些服务来开发和扩展新的应用程序,或在公共云中运行现有应用程序。

什么是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工作区,选择计算 > 计算实例 > 新建,选择符合您需求的实例。

创建Azure计算实例

从终端快速入门

启动您的计算并打开终端:

打开终端

创建虚拟环境

创建您的conda虚拟环境并安装pip:

conda create --name yolo11env -y
conda activate yolo11env
conda install pip -y

安装所需的依赖项:

cd ultralytics
pip install -r requirements.txt
pip install ultralytics
pip install onnx>=1.12.0

执行YOLO11任务

预测:

yolo predict model=yolo11n.pt source='https://ultralytics.com/images/bus.jpg'

使用初始学习率为0.01训练一个检测模型10个epoch

yolo train data=coco8.yaml model=yolo11n.pt epochs=10 lr0=0.01

您可以在这里找到更多使用Ultralytics CLI的说明

从笔记本快速入门

创建新的IPython内核

打开计算终端。

打开终端

从您的计算终端,您需要创建一个新的ipykernel,该内核将由您的笔记本用于管理依赖项:

conda create --name yolo11env -y
conda activate yolo11env
conda install pip -y
conda install ipykernel -y
python -m ipykernel install --user --name yolo11env --display-name "yolo11env"

关闭终端并创建一个新的笔记本。从您的笔记本中,您可以选择新的内核。

然后您可以打开一个笔记本单元并安装所需的依赖项:

%%bash
source activate yolo11env
cd ultralytics
pip install -r requirements.txt
pip install ultralytics
pip install onnx>=1.12.0
请注意,我们需要对所有 %%bash 单元格使用 source activate yolo11env,以确保 %%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

# 加载模型
model = YOLO("yolo11n.pt")  # 加载官方的 YOLO11n 模型

# 使用模型
model.train(data="coco8.yaml", epochs=3)  # 训练模型
metrics = model.val()  # 在验证集上评估模型性能
results = model("https://ultralytics.com/images/bus.jpg")  # 对图像进行预测
path = model.export(format="onnx")  # 将模型导出为 ONNX 格式

您可以使用 Ultralytics CLI 或 Python 接口来运行 YOLO11 任务,如上文终端部分所述。

通过遵循这些步骤,您应该能够在 AzureML 上快速运行 YOLO11 进行快速试验。对于更高级的使用,您可以参考本指南开头链接的完整 AzureML 文档。

探索更多 AzureML 功能

本指南旨在帮助您在 AzureML 上快速上手 YOLO11。然而,这仅仅是 AzureML 所能提供的冰山一角。要深入挖掘并解锁 AzureML 在机器学习项目中的全部潜力,请考虑探索以下资源:

常见问题

如何在 AzureML 上运行 YOLO11 进行模型训练?

在 AzureML 上运行 YOLO11 进行模型训练涉及以下几个步骤:

  1. 创建计算实例:从您的 AzureML 工作区,导航到计算 > 计算实例 > 新建,并选择所需的实例。

  2. 设置环境:启动您的计算实例,打开终端,并创建一个 conda 环境:

    conda create --name yolo11env -y
    conda activate yolo11env
    conda install pip -y
    pip install ultralytics onnx>=1.12.0
    
  3. 运行 YOLO11 任务:使用 Ultralytics CLI 训练您的模型:

    yolo train data=coco8.yaml model=yolo11n.pt epochs=10 lr0=0.01
    

更多详情,您可以参考 使用 Ultralytics CLI 的说明

使用 AzureML 进行 YOLO11 训练的好处是什么?

AzureML 为训练 YOLO11 模型提供了一个强大且高效的环境:

  • 可扩展性:随着数据和模型复杂性的增长,轻松扩展计算资源。
  • MLOps 集成:利用版本控制、监控和审计等功能,简化机器学习操作。
  • 协作:在团队内共享和管理资源,增强协作工作流程。

这些优势使 AzureML 成为从快速原型到大规模部署项目的理想平台。更多提示,请查看 AzureML 作业

如何在 AzureML 上运行 YOLO11 时解决常见问题?

在 AzureML 上运行 YOLO11 时解决常见问题可能涉及以下步骤:

  • 依赖问题:确保所有必需的包都已安装。参考 requirements.txt 文件中的依赖项。
  • 环境设置:在运行命令之前,确保您的 conda 环境已正确激活。
  • 资源分配:确保您的计算实例有足够的资源来处理训练工作负载。

更多指导,请查看我们的 YOLO 常见问题 文档。

我可以在 AzureML 上同时使用 Ultralytics CLI 和 Python 接口吗?

是的,AzureML 允许您无缝使用 Ultralytics CLI 和 Python 接口: - CLI: 适用于快速任务和直接从终端运行标准脚本。

```bash
yolo predict model=yolo11n.pt source='https://ultralytics.com/images/bus.jpg'
```
  • Python 接口: 适用于需要自定义编码和在笔记本中集成的更复杂任务。

    from ultralytics import YOLO
    
    model = YOLO("yolo11n.pt")
    model.train(data="coco8.yaml", epochs=3)
    

更多详细说明请参阅快速入门指南 这里这里

使用 Ultralytics YOLO11 相比其他 目标检测 模型有什么优势?

Ultralytics YOLO11 相比其他竞争性目标检测模型提供了几个独特的优势:

  • 速度: 比 Faster R-CNN 和 SSD 等模型更快的推理和训练时间。
  • 准确性: 在检测任务中具有高准确性,具有无锚点设计和增强的增强策略等特点。
  • 易用性: 直观的 API 和 CLI 便于快速设置,适合初学者和专家使用。

要了解更多关于 YOLO11 的功能,请访问 Ultralytics YOLO 页面获取详细信息。


📅 Created 11 months ago ✏️ Updated 13 days ago

Comments