Meet YOLO26: next-gen vision AI.

Link to this sectionUltralytics YOLOv5 🚀 on AzureML 快速入门#

欢迎来到 Microsoft Azure Machine Learning (AzureML) 的 Ultralytics YOLOv5 快速入门指南!本指南将引导你在 AzureML 计算实例上设置 YOLOv5,内容涵盖从创建虚拟环境到训练及运行模型推理的所有步骤。

Link to this section什么是 Azure?#

Azure 是 Microsoft 推出的综合性 云计算 平台。它提供广泛的服务,包括计算能力、数据库、分析工具、机器学习 功能和网络解决方案。Azure 使企业能够通过 Microsoft 管理的数据中心构建、部署和管理应用程序与服务,从而促进工作负载从本地基础设施迁移到云端。

Link to this section什么是 Azure Machine Learning (AzureML)?#

Azure Machine Learning (AzureML) 是一项专门设计的云服务,用于开发、训练和部署机器学习模型。它提供了一个协作环境,其中包含适合各水平数据科学家和开发者的工具。主要功能包括 自动化机器学习 (AutoML)、用于模型创建的拖放式界面,以及用于实现机器学习生命周期更精细控制的强大 Python SDK。AzureML 简化了将 预测建模 嵌入应用程序的过程。

Link to this section前提条件#

要按照本指南操作,你需要一个有效的 Azure 订阅 并拥有访问 AzureML 工作区 的权限。如果你尚未创建工作区,请参考官方 Azure 文档 进行创建。

Link to this section创建计算实例#

AzureML 中的计算实例为数据科学家提供了一个托管的云端工作站。

  1. 导航到你的 AzureML 工作区。
  2. 在左侧窗格中,选择 Compute(计算)。
  3. 转到 Compute instances(计算实例)选项卡,然后点击 New(新建)。
  4. 根据你的训练或推理需求,选择合适的 CPU 或 GPU 资源来配置你的实例。
Azure ML create compute instance interface

Link to this section打开终端#

计算实例运行后,你可以直接从 AzureML 工作室访问其终端。

  1. 转到左侧窗格中的 Notebooks(笔记本)部分。
  2. 在顶部的下拉菜单中找到你的计算实例。
  3. 点击文件浏览器下方的 Terminal(终端)选项,打开通往你实例的命令行界面。

Azure ML 打开终端按钮位置

Link to this section设置并运行 YOLOv5#

现在,让我们设置环境并运行 Ultralytics YOLOv5。

Link to this section创建虚拟环境#

使用虚拟环境来管理依赖项是最佳实践。我们将使用 AzureML 计算实例上预装的 Conda。有关详细的 Conda 设置指南,请参阅 Ultralytics Conda 快速入门指南

创建一个包含特定 Python 版本的 Conda 环境(例如 yolov5env)并激活它:

conda create --name yolov5env -y python=3.10 # Create a new Conda environment
conda activate yolov5env                     # Activate the environment
conda install pip -y                         # Ensure pip is installed

Link to this section克隆 YOLOv5 存储库#

Clone the official Ultralytics YOLOv5 repository from GitHub using Git:

git clone https://github.com/ultralytics/yolov5 # Clone the repository
cd yolov5                                       # Navigate into the directory
# Initialize submodules (if any, though YOLOv5 typically doesn't require this step)
# git submodule update --init --recursive

Link to this section安装依赖项#

安装 requirements.txt 文件中列出的必要 Python 包。我们还安装了用于模型导出功能的 ONNX

pip install -r requirements.txt # Install core dependencies
pip install "onnx>=1.12.0"      # Install ONNX for exporting

Link to this section执行 YOLOv5 任务#

设置完成后,你现在可以训练、验证、执行推理并导出你的 YOLOv5 模型。

  • 训练 (Train) 模型,例如在 COCO128 数据集上。查看 训练模式 文档以获取更多详细信息。

    # Start training using yolov5s pretrained weights on the COCO128 dataset
    python train.py --data coco128.yaml --weights yolov5s.pt --img 640 --epochs 10 --batch 16
  • 验证 (Validate) 训练后模型的性能,使用 精度 (Precision)召回率 (Recall)mAP 等指标。请参阅 验证模式 指南了解选项。

    # Validate the yolov5s model on the COCO128 validation set
    python val.py --weights yolov5s.pt --data coco128.yaml --img 640
  • 在新的图像或视频上 运行推理 (Run Inference)。浏览 预测模式 文档以了解各种推理源。

    # Run inference with yolov5s on sample images
    python detect.py --weights yolov5s.pt --source data/images --img 640
  • 将模型 导出 (Export) 为 ONNX、TensorRTCoreML 等不同格式以进行部署。请参考 导出模式 指南和 ONNX 集成 页面。

    # Export yolov5s to ONNX format
    python export.py --weights yolov5s.pt --include onnx --img 640

Link to this section使用笔记本#

如果你更喜欢交互式体验,可以在 AzureML Notebook 中运行这些命令。你需要创建一个连接到你的 Conda 环境的自定义 IPython 内核

Link to this section创建一个新的 IPython 内核#

在你的计算实例终端中运行以下命令:

# Ensure your Conda environment is active
# conda activate yolov5env

# Install ipykernel if not already present
conda install ipykernel -y

# Create a new kernel linked to your environment
python -m ipykernel install --user --name yolov5env --display-name "Python (yolov5env)"

创建内核后,刷新你的浏览器。当你打开或创建 .ipynb 笔记本文件时,从右上角的内核下拉菜单中选择你的新内核("Python (yolov5env)")。

Link to this section在笔记本单元格中运行命令#

  • Python 单元格: Python 单元格中的代码将自动使用所选的 yolov5env 内核执行。

  • Bash 单元格: 要运行 shell 命令,请在单元格开头使用 %%bash 魔术命令。记得在每个 bash 单元格内激活你的 Conda 环境,因为它们不会自动继承笔记本的内核环境上下文。

    %%bash
    source activate yolov5env # Activate environment within the cell
    
    # Example: Run validation using the activated environment
    python val.py --weights yolov5s.pt --data coco128.yaml --img 640

恭喜!你已成功在 AzureML 上设置并运行了 Ultralytics YOLOv5。如需进一步探索,请考虑查看其他 Ultralytics 集成 或详细的 YOLOv5 文档。你可能还会发现 AzureML 文档 对于分布式训练或将模型部署为端点等高级场景非常有用。

评论