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.RC3 | Pytorch框架推理环境准备 |
| CANN | 8.3.RC1 | - |
| Python | 3.11 | - |
| PyTorch | 2.1.0 | - |
| Ascend Extension PyTorch | 2.1.0.post10 | - |
获取Pytorch源码
git clone https://github.com/ultralytics/ultralytics.git
cd ultralytics
git reset --hard e74b035
git apply ../diff.patch
cd ..
export PYTHONPATH=./ultralytics:$PYTHONPATH安装依赖
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
昇腾张量编译器(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}