目录
前言
上周我在华为昇腾Atlas200DK中部署nanodet和yolov5时,出现了目标检测结果不对(没有检测到任何物体),困扰了整整三天,最后找到原因并圆满解决,在这里记录一下debug过程。
以上测试均在python中完成。
问题描述
第一天上午,我首先将nanodet由pytorch的.pth模型转换为.onnx模型,并通过cv2.dnn模块实现仅依赖于opencv的nanodet推理部署main_nanodet.py,该部署文件能够得到正确的检测结果。
随后,我通过atlas_utils(上一篇博客中提到的CANN官方封装接口)将main_nanodet.py改造成在CANN上推理部署的acl_nanodet.py,并且仔细梳理了该acl实现的流程和细节,如下图所示: