Nanotrackv3在华为昇腾芯片上的推理

检测

下载源码:github链接

最好先在本地跑通demo,得到结果

模型转换

1、运行pytorch2onnx.py文件,把nanotrackv3.pth模型转换为onnx文件。

2、后使用atc命令运行ATC工具把onnx转换为om文件(这一步骤需要在Atlas开发板上运行)

atc --model=nanotrack_backbone_255.onnx --framework=5 --output=nanotrack_T --input_shape="images:1,3,255,255" --soc_version=Ascend310

出现上图提示则代表模型转换成功

准备Atlas上的Nanotrack推理代码

文件结构如下图所示:

可参考:昇腾社区官方文档(目标检测)

atlas_tracker.py文件中定义追踪器,其中包括输入输出数据集、执行推理、解析输出、释放模型资源、具体推理过程等

该追踪器参考Nanotrack源代码修改成使用AscendCL接口,具体是在run_model里对输入数据进行处理:

  1. 组织输入数据的dataset结构
  2. 组织输出数据的dataset结构
  3. 推理完成后, 将输出数据转换为numpy格式
  4. 释放 aclmdlDataset 类型数据

main.py文件是读取视频文件,对视频文件中的目标进行跟踪,并在视频上显示跟踪结果。

注:一定要释放acl模型的相关资源

开始先初始化acl相关资源,后进行推理,最后acl去初始化

if __name__ == '__main__':

    context = init_acl(DEVICE_ID)  # 初始化acl相关资源

    main()

    deinit_acl(context, 0)  # acl 去初始化

在Atlas芯片上推理

首先把该项目导入进Atlas上,配置好相关python环境,进入NanoTrack_Atlas主目录下,运行python3 main.py

可以看出跟踪得分较高,效果不错

跟踪结果保存在video文件夹下

下载到本地可以查看跟踪结果

评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值