专栏算法工具链yolov7模型通过PTQ转换部署,检测结果异常

yolov7模型通过PTQ转换部署,检测结果异常

已解决
默认317442024-06-18
144
14

1. 芯片型号:J5

2. 问题定位:板端部署

3. 问题具体描述:

yolov7模型通过PTQ转成.bin模型后,上板端部署运行,运行结果显示:检测框无论是否正确框中目标,分值普遍偏高,接近1。请问是模型转换后精度丢失造成的吗?

算法工具链
征程5
评论2
0/1000
  • Huanghui
    Lv.5

    你好,有两个疑问需要你确认一下:

    1. 你反馈的这个问题在float_original.onnx 和 quantized.onnx上的推理结果是怎么的,是否存在问题,需要你这边验证一下。

    2. 是否通过hb_verifier 验证过quantized.onnx和bin模型的一致性。
    2024-06-20
    0
    12
    • 默认31744回复Huanghui:
      我这边尝试用horizon_j5_open_explorer_v1.1.68-py38_20231014\ddk\samples\ai_toolchain\horizon_model_convert_sample\04_detection\03_yolov5x\mapper\04_inference.sh推理,报错,找到原因为,原实例中的模型输出为三层
      我自己的模型输出为:

      请问这怎么解决呢?


      模型一致性检查通过

      2024-06-23
      0
    • GOYU\XU回复默认31744:
      你自己的yolo7模型和OE包中的yolov5本身就不是同一个模型,后处理是不一样的。首先确定是否是你的yolo7后量化后出现无论是否正确框中目标,分值普遍偏高,接近1的现象。如果是,就用自己的yolo7模型的onnx写后处理代码,验证float_original.onnx 和 quantized.onnx上的推理结果正确性。
      2024-06-25
      0
    • 默认31744回复GOYU\XU:
      我尝试运行示例horizon_j5_open_explorer_v1.1.68-py38_20231014\ddk\samples\ai_toolchain\horizon_model_convert_sample\04_detection\03_yolov5x\mapper\04_inference.sh的onnx推理代码,报错如下:
      2024-06-25
      0
    • 默认31744回复GOYU\XU:
      您好,我验证了float_original.onnx 和 quantized.onnx,推理结果不正确,分值也较低
      2024-06-26
      0
    • GOYU\XU回复默认31744:

      请告知你跑的是yolov5还是yolov7?推理结果不争取是指什么?我从图片看到的分值不算低,觉得这个分值才算正常的呀


      2024-06-27
      0
    • 默认31744回复GOYU\XU:

      yolov7模型,预测框应该框中的范围是座椅,但是结果是杂乱无章的

      2024-06-27
      0
    • GOYU\XU回复默认31744:

      yolov7后处理代码是你自己写的吗,应该是后处理代码逻辑有问题

      2024-06-27
      0
    • 默认31744回复GOYU\XU:

      后处理的代码我参照horizon_j5_open_explorer_v1.1.68-py38_20231014\ddk\samples\ai_toolchain\horizon_model_convert_sample\04_detection\03_yolov5x\mapper\postprocess.py写的

      2024-06-27
      0
    • 默认31744回复GOYU\XU:

      能否提供yolov7模型的后处理代码示例?

      2024-06-28
      0
    • GOYU\XU回复默认31744:

      不提供后处理代码的,yolov5是anchor机制的,yolo7是非anchor机制的,两者后处理还是有很大的区别,你pt模型跑出来的结果有问题吗

      2024-06-28
      0
    • 默认31744回复GOYU\XU:

      pt模型跑出来的结果正常,那yolov7模型在板端的后处理过程怎么做呢?还是说不管是yolov5还是yolov7,.bin文件在板端的后处理过程与.pt文件在python环境下的推理过程相同呢?

      2024-06-28
      0
    • GOYU\XU回复默认31744:

      pt模型正常,pt转onnx模型都是pytorch自带的,都不涉及工具链知识,请先写onnx的后处理代码,完成正确的onnx模型输出结果再做PTQ量化。后处理代码需要你根据不同的算法,自行处理的。正常情况下同算法pt的后处理类似

      2024-07-01
      0
  • 默认31744
    Lv.1

    推理代码及bin模型如下

    链接:https://pan.baidu.com/s/1Z3yk8BjGZ0GWbSIMIAWxvA?pwd=m1sr 

    提取码:m1sr

    2024-06-18
    0
    0