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 中的计算实例为数据科学家提供了一个基于云的托管工作站。
- 导航至您的 AzureML 工作区。
- 在左侧窗格中,选择 Compute。
- 转到计算实例选项卡,然后点击新建。
- 根据您的训练或推理需求,选择合适的 CPU 或 GPU 资源来配置您的实例。
打开终端
一旦您的计算实例运行,您可以直接从 AzureML studio 访问其终端。
- 转到左侧窗格中的Notebooks部分。
- 在顶部下拉菜单中找到您的计算实例。
- 点击文件浏览器下方的 终端 选项,打开实例的命令行界面。
设置并运行 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仓库
使用 Git 从 GitHub 克隆官方 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、TensorRT或CoreML以进行部署。请参阅导出模式指南和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 文档对于分布式训练或将模型部署为端点等高级场景很有用。