跳转至内容

AzureML 快速入门上的 Ultralytics YOLOv5 🚀

欢迎来到 Ultralytics YOLOv5 Microsoft Azure 机器学习 (AzureML) 快速入门指南!本指南将引导您在 AzureML 计算实例上设置 YOLOv5,涵盖从创建虚拟环境到使用模型进行训练和运行推理的所有内容。

什么是 Azure?

Azure 是 Microsoft 的全面 云计算 平台。它提供包括计算能力、数据库、分析工具、机器学习 功能和网络解决方案在内的大量服务。Azure 使组织能够通过 Microsoft 管理的数据中心来构建、部署和管理应用程序和服务,从而促进从本地基础设施到云的工作负载迁移。

什么是 Azure 机器学习 (AzureML)?

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

准备工作

要遵循本指南,您需要一个有效的 Azure 订阅 并访问 AzureML 工作区。如果您没有设置工作区,请参阅官方 Azure 文档创建一个。

创建计算实例

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

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

create-compute-arrow

打开终端

一旦您的计算实例运行,您可以直接从 AzureML studio 访问其终端。

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

打开终端箭头

设置并运行 YOLOv5

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

1. 创建一个虚拟环境

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

创建一个 Conda 环境 (例如, yolov5env)使用特定的 python 版本并激活它:

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

2. 克隆YOLOv5仓库

使用 GitGitHub 克隆官方 Ultralytics YOLOv5 仓库:

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

3. 安装依赖包

安装必要的python软件包,这些软件包在 requirements.txt 文件。我们还安装了 ONNX 用于模型导出功能。

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

4. 执行 YOLOv5 任务

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

  • 训练模型,使用像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
    
  • 验证 使用诸如精确率召回率mAP之类的指标来验证已训练模型的性能。 有关选项,请参见验证模式指南。

    # Validate the yolov5s model on the COCO128 validation set
    python val.py --weights yolov5s.pt --data coco128.yaml --img 640
    
  • 在新图像或视频上运行推理。请查阅预测模式文档,了解各种推理来源。

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

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

使用 Notebook

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

创建一个新的 IPython Kernel

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

# 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 notebook 文件,从右上角的内核下拉菜单中选择您的新内核(“Python (yolov5env)”)。

在 Notebook 单元格中运行命令

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

  • Bash Cells: 要运行 shell 命令,请使用 %%bash 在单元格的开头使用 magic 命令。请记住在每个 bash 单元格中激活您的 Conda 环境,因为它们不会自动继承 notebook 的内核环境上下文。

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



📅 创建于 1 年前 ✏️ 更新于 4 个月前

评论