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 studio 访问它的终端。

  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使用 Notebook#

如果你更喜欢交互式体验,可以在 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在 Notebook 单元格中运行命令#

  • 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 文档对于分布式训练或将模型部署为端点等高级场景非常有用。

评论