Ultralytics YOLOv5 🚀 on AzureML 快速入门
欢迎阅读 Microsoft Azure Machine Learning (AzureML) 的 Ultralytics YOLOv5 快速入门指南!本指南将带你了解如何在 AzureML 计算实例上设置 YOLOv5,涵盖从创建虚拟环境到模型训练和运行推理的所有步骤。
什么是 Azure?
Azure 是 Microsoft 的综合性云计算平台。它提供广泛的服务,包括计算能力、数据库、分析工具、机器学习功能和网络解决方案。Azure 使企业能够通过 Microsoft 管理的数据中心构建、部署和管理应用程序与服务,从而促进将工作负载从本地基础设施迁移到云端。
什么是 Azure Machine Learning (AzureML)?
Azure Machine Learning (AzureML) 是一项专门用于开发、训练和部署机器学习模型的云服务。它提供了一个协作环境,其中的工具适用于各种技能水平的数据科学家和开发人员。主要功能包括自动化机器学习 (AutoML)、用于模型创建的拖放式界面,以及用于更精细地控制机器学习生命周期的强大 Python SDK。AzureML 简化了将预测建模嵌入应用程序的过程。
先决条件
要按照本指南操作,你需要一个有效的 Azure 订阅并拥有 AzureML 工作区的访问权限。如果你还没有设置工作区,请参考官方 Azure 文档进行创建。
创建计算实例
AzureML 中的计算实例为数据科学家提供了一个托管的云端工作站。
- 导航到你的 AzureML 工作区。
- 在左侧窗格中,选择 Compute(计算)。
- 转到 Compute instances(计算实例)选项卡并点击 New(新建)。
- 根据你的训练或推理需求,选择适当的 CPU 或 GPU 资源来配置你的实例。
打开终端
一旦计算实例运行起来,你就可以直接从 AzureML studio 访问它的终端。
- 转到左侧窗格中的 Notebooks(笔记本)部分。
- 在顶部下拉菜单中找到你的计算实例。
- 点击文件浏览器下方的 Terminal(终端)选项,即可打开连接到你实例的命令行界面。

设置并运行 YOLOv5
现在,让我们来设置环境并运行 Ultralytics YOLOv5。
创建虚拟环境
使用虚拟环境来管理依赖项是最佳实践。我们将使用 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克隆 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安装依赖项
安装 requirements.txt 文件中列出的必要 Python 包。我们还安装了用于模型导出功能的 ONNX。
pip install -r requirements.txt # Install core dependencies
pip install "onnx>=1.12.0" # Install ONNX for exporting执行 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、TensorRT 或 CoreML 等不同格式以便进行部署。请参阅导出模式指南和 ONNX 集成页面。
# Export yolov5s to ONNX format python export.py --weights yolov5s.pt --include onnx --img 640
使用 Notebook
如果你更喜欢交互式体验,可以在 AzureML Notebook 中运行这些命令。你需要创建一个链接到你的 Conda 环境的自定义 IPython 内核。
创建新的 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)")。
在 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 文档对于分布式训练或将模型部署为端点等高级场景非常有用。