Ultralytics YOLO27:
Get Started

Ultralytics YOLOv5 🚀 AzureML 快速入门#

欢迎阅读 Ultralytics YOLOv5 Microsoft Azure Machine Learning (AzureML) 快速入门指南!本指南将带你了解如何在 AzureML 计算实例上设置 YOLOv5,内容涵盖从创建虚拟环境到使用模型进行训练和推理的所有步骤。

什么是 Azure?#

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

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

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

前置条件#

要按照本指南操作,你需要有效的 Azure 订阅并能够访问 AzureML 工作区。如果尚未设置工作区,请参阅官方 Azure 文档进行创建。

创建计算实例#

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

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

打开终端#

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

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

Azure ML 打开终端按钮的位置

设置并运行 YOLOv5#

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

1. 创建虚拟环境#

最佳实践是使用虚拟环境管理依赖项。我们将使用 Conda,它已预装在 AzureML 计算实例上。如需详细了解 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

2. 克隆 YOLOv5 仓库#

使用 Git 从 GitHub 克隆官方 Ultralytics YOLOv5 仓库:

git clone https://github.com/ultralytics/yolov5 # Clone the repository
cd yolov5                                       # Navigate into the directory

3. 安装依赖项#

安装 requirements.txt 文件中列出的必要 Python 包。我们还会安装 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
  • 使用 Precision、Recall 和 mAP 等指标验证训练后模型的性能。运行 python val.py --help 查看所有选项。

    # Validate the yolov5s model on the COCO128 validation set
    python val.py --weights yolov5s.pt --data coco128.yaml --img 640
  • 对新图像或视频执行推理。有关支持的推理来源,请参阅 YOLOv5 快速入门。

    # 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 内核。

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

在 Notebook 单元格中运行命令#

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

  • Bash 单元格: 要运行 shell 命令,请在单元格开头使用 %%bash 魔法命令。请记得在每个 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 文档也可能对你有所帮助。

常见问题#

  • CPU 实例足以在 COCO128 上执行推理和短时间测试,但实际训练需要 GPU 规格。创建计算实例时请选择 GPU 虚拟机,并使用 python -c "import torch; print(torch.cuda.is_available())" 确认 PyTorch 能识别 GPU。

  • Bash 单元格不会继承 notebook 内核的环境。请在每个 %%bash 单元格开头添加 source activate yolov5env,或者使用你创建的 Python (yolov5env) 内核运行 Python 单元格。

  • 工作区文件共享中挂载在 ~/cloudfiles 下的文件会在停止实例后继续保留,并且可从其他计算实例访问。实例磁盘上其他位置的文件会在实例存在期间保留,但删除实例后会丢失。

  • 可以。pip install ultralytics 可让你在同一个 Conda 环境中通过 yolo CLI 使用 YOLO26 训练、验证和导出功能。有关基于该包的操作流程,请参阅 AzureML 快速入门。

评论