Ascend-SACT/YOLOv11
模型介绍文件和版本Pull Requests讨论分析

YOLO11

YOLO(You Only Look Once)是一种流行的物体检测和图像分割模型,由华盛顿大学的 Joseph Redmon 和 Ali Farhadi 开发。YOLO 于 2015 年推出,因其高速和高精度而广受欢迎。 最新的YOLO11 模型可在多项任务中提供最先进的 (SOTA) 性能,包括物体检测、分割、姿势估计 、跟踪和分类,可在各种人工智能应用和领域中部署。

  • 版本说明:

    url=https://github.com/ultralytics/ultralytics.git
    commit_id=e74b035
    model_name=YOLOV11

推理环境准备

  • 该模型需要以下插件与驱动
    表 1 版本配套表

    配套版本环境准备指导
    固件与驱动24.0.RC3Pytorch框架推理环境准备
    CANN8.3.RC1-
    Python3.11-
    PyTorch2.1.0-
    Ascend Extension PyTorch2.1.0.post10-

快速上手

获取源码

  1. 获取Pytorch源码

    git clone https://github.com/ultralytics/ultralytics.git
    cd ultralytics
    git reset --hard e74b035
    git apply ../diff.patch
    cd ..
    export PYTHONPATH=./ultralytics:$PYTHONPATH
  2. 安装依赖

    pip3 install -r requirements.txt

获取数据集

下载数据集,并放置在./datasets目录下。手动下载方式详见安装指南

获取权重

下载权重,并放置在运行目录下,默认为${YOLOV11_PATH}目录下。下载地址如下:

  • detect 目标检测任务: 下载地址: https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11n.pt

  • segment 分割任务 下载地址: https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11n-seg.pt

  • classify 分类任务 下载地址: https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11n-cls.pt

  • pose 姿态估计任务: 下载地址: https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11n-pose.pt

  • obb 定向任务: 下载地址: https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11n-obb.pt

OM方式推理

昇腾张量编译器(Ascend Tensor Compiler,简称ATC)是异构计算架构CANN体系下的模型转换工具,它可以将开源框架的网络模型以及Ascend IR定义的单算子描述文件(JSON格式)转换为昇腾AI处理器支持的.om格式离线模型。om离线模型采用ais_bench工具推理能够大幅提高纯推理阶段性能。

执行步骤

# 权重文件转onnx格式,执行这一步需要提前手动下载权重文件或至少执行过一次TorchAir方式的推理
bash pt2onnx.py --pt=${pt} --batch=${batch_size}

# 上一步导出的onnx文件转om格式
bash convert_to_om.sh ${onnx_path} [${batch_size}] [${chip_name}]

# 执行推理
python3 infer.py --pth=${pth} --task=${task_name} --dataset=${dataset} --batchsize=${batch_size} --device=${device_id}

参数及变量含义

  • ${pt}: pt结尾的模型路径模型路径
  • ${pth}:为om结尾的模型,如 yolo11n_bs4.om,不可缺省。
  • ${onnx_path}: 导出的onnx路径,因为默认在当前路径,因此一般形如 yolo11n_bs4.onnx