yolov11 pose 掉点严重

Runtime version: 1.24.5_(3.15.55 HBRT)

horizon-nn: 1.1.0

horizon-tc-ui: 1.24.3

hbdk: 3.49.15

问题:yolov11x pose pt格式浮点模型 average precision=100%,部署到板端后 average precision 掉到0%

config.yaml:

model_parameters:
  onnx_model: 'yolov11x_court_keypoint_256x256.onnx'
  march: "bayes-e"
  layer_out_dump: False
  working_dir: 'yolov11x_court_keypoint_model_256x256_output'
  output_model_file_prefix: 'yolov11x_court_keypoint_bayese_256x256_nv12'
input_parameters:
  # input_batch: 8
  input_name: ""
  input_type_rt: 'nv12'
  input_layout_rt: 'NCHW'
  input_type_train: 'rgb'
  input_layout_train: 'NCHW'
  norm_type: 'data_scale'
  scale_value: 0.003921568627451
calibration_parameters:
  cal_data_dir: './court_keypoint_calibration_data_rgb_f32_256x256'
  cal_data_type: 'float32'
  calibration_type: 'max'
  per_channel: True
  max_percentile: 0.99995
  optimization: set_all_nodes_int16
compiler_parameters:
  compile_mode: 'latency'
  debug: False
  optimize_level: 'O3'
  max_time_per_fc: 1000

parser.cpp:

#include "dnn_node/util/output_parser/detection/ptq_yolo11_kpt_output_parser.h"

#include <arm_neon.h>

#include <iostream>
#include <queue>
#include <fstream>
#include <future>
#include <numeric>
#include <algorithm>

#include "rapidjson/document.h"
#include "rclcpp/rclcpp.hpp"

#include "dnn_node/util/output_parser/detection/nms.h"
#include "dnn_node/util/output_parser/utils.h"


namespace hobot {
namespace dnn_node {
namespace parser_yolov11_kpt {
  inline float fastExp(float x) {
    union {
      uint32_t i;
      float f;
    } v;
    v.i = (12102203.1616540672f * x + 1064807160.56887296f);
    return v.f;
  }

  inline float SigMoid(const float &input) {
    return 1 / (1 + std::exp(-1 * input));
  }
  
  /**
   * Finds the greatest element in the range [first, last)
   * @tparam[in] ForwardIterator: iterator type
   * @param[in] first: fist iterator
   * @param[in] last: last iterator
   * @return Iterator to the greatest element in the range [first, last)
   */
  template <class ForwardIterator>
  inline size_t argmax(ForwardIterator first, ForwardIterator last) {
    return std::distance(first, std::max_element(first, last));
  }
  
  #define BSWAP_16(x) static_cast<int16_t>(__builtin_bswap16(x))
  
  #define r_int16(x, big_endian) \
    (big_endian) ? BSWAP_16((x)) : static_cast<int16_t>((x))
  
  /**
   * Config definition for Yolo11 Pose
   */
  struct PTQYolo11PoseConfig {
    std::vector<int> strides;
    int class_num;
    int kpt_num;
    int reg_max;
    std::vector<std::string> class_names;
    std::vector<int> output_order;
    std::vector<std::vector<float>> dequantize_scale;
  
    std::string Str() {
      std::stringstream ss;
      ss << "strides: ";
      for (const auto &stride : strides) {
        ss << stride << " ";
      }
  
      ss << "; class_num: " << class_num;
      ss << "; reg_max: " << reg_max;
      return ss.str();
    }
  };

  // Mapper output order is:
  // [box_s8, cls_s8, box_s16, cls_s16, box_s32, cls_s32,
  //  kpt_s8, kpt_s16, kpt_s32].
  // ParseTensor expects [cls, box, kpt] for each stride.
  PTQYolo11PoseConfig default_ptq_yolo11_config = {
    {8, 16, 32},
    1,
    3,
    16,
    {"court"},
    {1, 0, 6, 3, 2, 7, 5, 4, 8}};
  
  PTQYolo11PoseConfig yolo11_config_ = default_ptq_yolo11_config;
  float score_threshold_ = 0.4;
  static bool is_performance_ = true;
  int top_k_ = 300;
  float nms_threshold_ = 0.5;
  int nms_top_k_ = 300;
  
  int InitClassNum(const int &class_num) {
    if(class_num > 0){
      yolo11_config_.class_num = class_num;
    } else {
      RCLCPP_ERROR(rclcpp::get_logger("yolo11_pose_detection_parser"),
                   "class_num = %d is not allowed, only support class_num > 0",
                   class_num);
      return -1;
    }
    return 0;
  }


  int InitKptNum(const int &kpt_num) {
    if(kpt_num > 0){
      yolo11_config_.kpt_num = kpt_num;
    } else {
      RCLCPP_ERROR(rclcpp::get_logger("yolo11_pose_detection_parser"),
                   "kpt_num = %d is not allowed, only support kpt_num > 0",
                   kpt_num);
      return -1;
    }
    return 0;
  }

  
  int InitRegMax(const int &reg_max) {
    if(reg_max > 0){
      yolo11_config_.reg_max = reg_max;
    } else {
      RCLCPP_ERROR(rclcpp::get_logger("yolo11_pose_detection_parser"),
                   "reg_max = %d is not allowed, only support class_num > 0",
                   reg_max);
      return -1;
    }
    return 0;
  }
  
  
  int InitStrides(const std::vector<int> &strides, const int &model_output_count){
    int size = strides.size();
    if(size * 2 != model_output_count){
      RCLCPP_ERROR(rclcpp::get_logger("yolo11_pose_detection_parser"),
                  "strides size %d is not equal to model_output_count %d",
                  size, model_output_count);
      return -1;
    }
    yolo11_config_.strides.clear();
    for (size_t i = 0; i < strides.size(); i++){
      yolo11_config_.strides.push_back(strides[i]);
    }
    return 0;
  }
  
  int InitOutputOrder(const std::vector<int> &output_order){
    size_t size_o = output_order.size();
    std::map<int, bool> order_map = {
      {0, false},
      {1, false},
      {2, false},
      {3, false},
      {4, false},
      {5, false},
      {6, false},
      {7, false},
      {8, false}
  };
    if(size_o!=9){
        RCLCPP_ERROR(rclcpp::get_logger("yolo11_pose_detection_parser"),
                "output order list size %d is not equal to 9",
                size_o);
        return -1;
    }
    for(int i = 0; i < 9; i++){
      if(order_map[output_order[i]]){
        RCLCPP_ERROR(rclcpp::get_logger("yolo11_pose_detection_parser"),
                "duplicate numbers appear in output order list");
        return -1;
      }
      if(output_order[i] < 0 || output_order[i] > 9){
        RCLCPP_ERROR(rclcpp::get_logger("yolo11_pose_detection_parser"),
                "invalid value appear in output order list");
        return -1;
      }
      order_map[output_order[i]] = true;
    }
    return 0;
  }
  
  
  int LoadConfig(const rapidjson::Document &document) {
    int model_output_count = 0;
    if (document.HasMember("model_output_count")) {
      model_output_count = document["model_output_count"].GetInt();
      if (model_output_count <= 0){
        RCLCPP_ERROR(rclcpp::get_logger("yolo11_pose_detection_parser"),
                "model_output_count = %d <= 0 is not allowed", model_output_count);
        return -1;
      }
    }
    if (document.HasMember("class_num")){
      int class_num = document["class_num"].GetInt();
      if (InitClassNum(class_num) < 0) {
        return -1;
      }
    } 
    if (document.HasMember("kpt_num")){
      int kpt_num = document["kpt_num"].GetInt();
      if (InitKptNum(kpt_num) < 0) {
        return -1;
      }
    } 
    if (document.HasMember("reg_max")){
      int reg_max = document["reg_max"].GetInt();
      if (InitRegMax(reg_max) < 0) {
        return -1;
      }
    } 
    if (document.HasMember("strides")) {
      std::vector<int> strides;
      for(size_t i = 0; i < document["strides"].Size(); i++){
        strides.push_back(document["strides"][i].GetInt());
      }
      if (InitStrides(strides, model_output_count-3) < 0){
        return -1;
      }
    }
    if (document.HasMember("score_threshold")) {
      score_threshold_ = document["score_threshold"].GetFloat();
    }
    if (document.HasMember("nms_threshold")) {
      nms_threshold_ = document["nms_threshold"].GetFloat();
    }
    if (document.HasMember("nms_top_k")) {
      nms_top_k_ = document["nms_top_k"].GetInt();
    }
  
    score_threshold_ = -log(1 / score_threshold_ - 1);
  
    if (document.HasMember("top_k")) {
      top_k_ = document["top_k"].GetInt();
    }
    if (document.HasMember("is_performance")) {
      is_performance_ = document["is_performance"].GetBool();
    }
    if (document.HasMember("output_order")) {
      if (yolo11_config_.output_order.empty())
      {
        for(size_t i = 0; i < document["output_order"].Size(); i++){
          yolo11_config_.output_order.push_back(document["output_order"][i].GetInt());
        }
      }
      if(InitOutputOrder(yolo11_config_.output_order) < 0){
        return -1;
      }
    }
    return 0;
  }
  
  int PostProcess(std::vector<std::shared_ptr<DNNTensor>> &output_tensors,
                  Perception &perception);
  
  float DequantiScale(int16_t data,
                      bool big_endian,
                      float &scale_value);
  
  void SortByOrder(std::vector<std::shared_ptr<DNNTensor>> &output_tensors,std::vector<int> order);
  
  void ParseTensor(std::shared_ptr<DNNTensor> clses, // 类别置信度
                   std::shared_ptr<DNNTensor> boxes, // 目标框坐标
                   std::shared_ptr<DNNTensor> kpts,  // 关键点坐标
                   int layer,
                   std::vector<Pose> &poses) {
    hbSysFlushMem(&(clses->sysMem[0]), HB_SYS_MEM_CACHE_INVALIDATE);
    hbSysFlushMem(&(boxes->sysMem[0]), HB_SYS_MEM_CACHE_INVALIDATE);
    hbSysFlushMem(&(kpts->sysMem[0]), HB_SYS_MEM_CACHE_INVALIDATE);
    int num_classes = yolo11_config_.class_num;
    int reg_max = yolo11_config_.reg_max;
    int num_kpts = yolo11_config_.kpt_num;
    int stride = yolo11_config_.strides[layer];

    std::vector<float> class_pred(yolo11_config_.class_num, 0.0);
    int dim1 = boxes->properties.validShape.dimensionSize[1];
    int dim2 = boxes->properties.validShape.dimensionSize[2];
    int dim3 = boxes->properties.validShape.dimensionSize[3];
    int height, width;
    if (dim1 == dim2) { // NHWC
      height = dim1;
      width = dim2;
    } else { // NCHW
      height = dim2;
      width = dim3;
    }
  
    auto *cls_data = reinterpret_cast<float *>(clses->sysMem[0].virAddr);
    auto *box_data = reinterpret_cast<int16_t *>(boxes->sysMem[0].virAddr);
    auto *box_scale_data = reinterpret_cast<float *>(boxes->properties.scale.scaleData);
    auto *kpt_data = reinterpret_cast<float *>(kpts->sysMem[0].virAddr);

    for (int h = 0; h < height; ++h) {
      for (int w = 0; w < width; ++w) {
        float *cur_cls_data = cls_data;
        int16_t *cur_box_data = box_data;
        float *cur_kpt_data = kpt_data;
        // 遍历
        cls_data += num_classes;
        box_data += reg_max * 4;
        kpt_data += num_kpts * 3;
        // 获取置信度最大类别的id
        int id = argmax(cur_cls_data, cur_cls_data + num_classes);
        // 过滤低于置信度的类别
        if (cur_cls_data[id] < score_threshold_) {
          continue;
        }
        
        double confidence = 1 / (1 + std::exp(-cur_cls_data[id]));
        float sum, distribute_score;
        size_t box_id = 0;
        std::vector<float> decoded_boxes(4, 0.0f);
        for (size_t i = 0; i < 4; ++i) {
          sum = 0.;
          for (int j = 0; j < reg_max; ++j) {
            size_t scale_id = std::min(box_id, static_cast<size_t>(boxes->properties.scale.scaleLen - 1));
            if (is_performance_) {
              distribute_score = fastExp(DequantiScale(cur_box_data[box_id], false, box_scale_data[scale_id]));
            } else {
              distribute_score = std::exp(DequantiScale(cur_box_data[box_id], false, box_scale_data[scale_id]));
            }
            sum += distribute_score;
            decoded_boxes[i] += distribute_score * j;
            ++box_id;
          }
          decoded_boxes[i] /= sum;
        }
  
        float xmin = (w + 0.5 - decoded_boxes[0]) * stride;
        float ymin = (h + 0.5 - decoded_boxes[1]) * stride;
        float xmax = (w + 0.5 + decoded_boxes[2]) * stride;
        float ymax = (h + 0.5 + decoded_boxes[3]) * stride;
  
        if (xmax <= 0 || ymax <= 0) {
          continue;
        }
  
        if (xmin > xmax || ymin > ymax) {
          continue;
        }
  
        Bbox bbox(xmin, ymin, xmax, ymax);

        std::vector<float> keypoints;
        for (size_t i = 0; i < num_kpts; ++i) {
          float x = (w + cur_kpt_data[3 * i] * 2.0) * stride;
          float y = (h + cur_kpt_data[3 * i + 1] * 2.0) * stride;
          float score = SigMoid(cur_kpt_data[3 * i + 2]);
          keypoints.push_back(x);
          keypoints.push_back(y);
          keypoints.push_back(score);
        }

        Pose pose = {static_cast<int>(id), static_cast<float>(confidence), keypoints, bbox,
          yolo11_config_.class_names[static_cast<int>(id)].c_str()};
        poses.push_back(pose);
      }
    }
  }
  
  int32_t Parse(
      const std::shared_ptr<hobot::dnn_node::DnnNodeOutput> &node_output,
      std::shared_ptr<DnnParserResult> &result) {
    if (!result) {
        result = std::make_shared<DnnParserResult>();
    }

    SortByOrder(node_output->output_tensors, yolo11_config_.output_order);
    int ret = PostProcess(node_output->output_tensors, 
                          result->perception);
    if (ret != 0) {
      RCLCPP_INFO(rclcpp::get_logger("yolo11_pose_detection_parser"),
                  "postprocess return error, code = %d",
                  ret);
    }
  
    // RCLCPP_DEBUG(rclcpp::get_logger("yolo11_pose_detection_parser"), "yolo11_pose_detection_parser parse finished.");
    return ret;
  }
  
  
  int PostProcess(std::vector<std::shared_ptr<DNNTensor>> &output_tensors,
                  Perception &perception) {
    auto ts_start = std::chrono::steady_clock::now();
    std::vector<Pose> poses;
    std::vector<std::future<std::shared_ptr<std::vector<Pose>>>> futs;
    auto output_size = output_tensors.size() / 3;
    for (size_t i = 0; i < output_size; i++) {
      auto fut = std::async(std::launch::async, [&output_tensors, i]() {
        std::shared_ptr<std::vector<Pose>> sp_poses = nullptr;
        std::vector<Pose> _poses;
        auto start = std::chrono::steady_clock::now();
        ParseTensor(output_tensors[i * 3], 
                    output_tensors[i * 3 + 1], 
                    output_tensors[i * 3 + 2],
                    static_cast<int>(i), 
                    _poses);
        int time_ms =
            std::chrono::duration_cast<std::chrono::milliseconds>(
                std::chrono::steady_clock::now() - start)
                .count();
        // RCLCPP_DEBUG_STREAM(rclcpp::get_logger("yolo11_pose_detection_parser"),
        //                 "parse tensor "
        //                 << i
        //                 << " cost [" << time_ms << "]"
        //                 );
        if (!_poses.empty()) {
          sp_poses = std::make_shared<std::vector<Pose>>(_poses);
        }
        return sp_poses;
      });
      futs.push_back(std::move(fut));
    }

    for (size_t i = 0; i < futs.size(); i++) {
      if (!futs[i].valid()) {
        RCLCPP_ERROR(rclcpp::get_logger("yolo11_pose_detection_parser"),
                    "fut is not valid");
        return -1;
      }
      futs[i].wait();
      auto pose = futs[i].get();
      if (pose) {
        poses.insert(poses.end(), std::make_move_iterator(pose->begin()),
          std::make_move_iterator(pose->end()));
      }
    }

    int parse_tensor_time_ms =
    std::chrono::duration_cast<std::chrono::milliseconds>(
      std::chrono::steady_clock::now() - ts_start)
      .count();
    ts_start = std::chrono::steady_clock::now();
    
    std::vector<int> pose_indices;
    nms_ids(poses, nms_threshold_, nms_top_k_, pose_indices, true);

    for (const auto &index : pose_indices) {
      perception.pose.push_back(poses[index]);
      // RCLCPP_DEBUG(rclcpp::get_logger("yolo11_pose_detection_parser"), "(%.f, %.f, %.f, %.f) -> %s: %.2f, kpts: %d", 
      //              poses[index].bbox.xmin, poses[index].bbox.ymin, poses[index].bbox.xmax, poses[index].bbox.ymax,
      //              poses[index].class_name, poses[index].score, poses[index].keypoints.size());
    }
        
    int nms_time_ms =
        std::chrono::duration_cast<std::chrono::milliseconds>(
            std::chrono::steady_clock::now() - ts_start)
            .count();
  
    // RCLCPP_DEBUG_STREAM(rclcpp::get_logger("yolo11_pose_detection_parser"),
    //                  "output_tensors size: "
    //                  << output_tensors.size()
    //                  << ", parse_tensor_time_ms [" << parse_tensor_time_ms
    //                  << "] nms_time_ms [" << nms_time_ms << "]"
    //                  );
  
    return 0;
  }
  
  
  float DequantiScale(int16_t data,
                      bool big_endian,
                      float &scale_value) {
    return static_cast<float>(r_int16(data, big_endian)) * scale_value;
  }
  
  void SortByOrder(std::vector<std::shared_ptr<DNNTensor>> &outputs,
                   std::vector<int> order) {
    if (order.size() != outputs.size()) {
      RCLCPP_ERROR(rclcpp::get_logger("yolo11_pose_detection_parser"),
                   "output order size %zu does not match output tensor count %zu",
                   order.size(), outputs.size());
      return;
    }

    std::vector<std::shared_ptr<DNNTensor>> outputs_sorted(outputs.size());
    for (size_t i = 0; i < outputs.size(); ++i) {
      if (order[i] < 0 || static_cast<size_t>(order[i]) >= outputs.size()) {
        RCLCPP_ERROR(rclcpp::get_logger("yolo11_pose_detection_parser"),
                     "invalid output order index %d at position %zu",
                     order[i], i);
        return;
      }
      outputs_sorted[i] = outputs[order[i]];
    }
    outputs = std::move(outputs_sorted);
  }
}  // namespace parser_yolov11_kpt
}  // namespace dnn_node
}  // namespace hobot

AP 从 100% 直接掉到 0% 基本不是量化精度损失(量化掉点一般是掉几个点到几十个点),大概率是板端链路某一环没对齐——输出解析、输入色彩格式、或预处理不一致。建议先二分定位:

1. 先确认量化模型本身输出对不对

config 里把 layer_out_dump 改成 True 重新转换,或用 hb_verifier 对比量化模型和浮点 ONNX 的输出余弦相似度(文档:Rspress )。也可以在板端直接 dump 一帧输出和 onnxruntime 跑同一张图的结果对比:

hrt_model_exec infer -m yolov11x_court_keypoint_bayese_256x256_nv12.bin -i input_nv12.bin
  • 输出基本一致 → 量化没问题,重点查板端后处理(第 2 步)
  • 输出对不上 → 查校准数据和输入转换(第 3 步)

2. 检查板端后处理是不是直接套了 detect 的

yolov11-pose 输出和 detect 完全不同:56 通道 = 4(box) + 1(score) + 17×3(keypoints),且 box 是 ltrb 距离格式不是 cxcywh;另外注意你导出的 ONNX 里如果已含 sigmoid,板端不能再做一次 sigmoid。后处理按 detect 解析,AP 必然是 0。

3. 检查输入一致性

input_type_rt: nv12 意味着板端必须喂 NV12 数据(工具链内部做 nv12→rgb 再乘 scale);如果你板端评测喂的是 BGR/RGB 原始数据,颜色通道全错。同时确认板端 resize/letterbox 方式和训练时一致、和校准数据(rgb float32, 0-255)的预处理一致。

另外精度 debug 的完整流程可参考官方文档:Rspress

可以先把第 1 步的对比结果(余弦相似度或输出 diff)贴出来,基本就能锁定问题在哪一环。

hb_mapper_makertbin.log:

2026-09-10 15:35:32,826 file: tool_utils.py func: tool_utils line No: 77 log will be stored in /open_explorer/samples/ai_toolchain/horizon_model_convert_sample/04_detection/16_yolov11_pose/mapper/hb_mapper_makertbin.log
2026-09-10 15:35:32,827 file: hb_mapper.py func: hb_mapper line No: 132 Start hb_mapper....
2026-09-10 15:35:32,828 file: hb_mapper.py func: hb_mapper line No: 133 hbdk version 3.49.15
2026-09-10 15:35:32,829 file: hb_mapper.py func: hb_mapper line No: 134 horizon_nn version 1.1.0
2026-09-10 15:35:32,829 file: hb_mapper.py func: hb_mapper line No: 135 hb_mapper version 1.24.3
2026-09-10 15:35:32,830 file: hb_mapper_makertbin.py func: hb_mapper_makertbin line No: 530 Start Model Convert....
2026-09-10 15:35:32,834 file: mapper_conf_parser.py func: mapper_conf_parser line No: 105 validating model_parameters...
2026-09-10 15:35:32,834 file: mapper_conf_parser.py func: mapper_conf_parser line No: 1347 Using abs path /open_explorer/samples/ai_toolchain/horizon_model_convert_sample/04_detection/16_yolov11_pose/mapper/yolov11x_court_keypoint_256x256.onnx
2026-09-10 15:35:32,835 file: mapper_conf_parser.py func: mapper_conf_parser line No: 260 Using onnx model file: /open_explorer/samples/ai_toolchain/horizon_model_convert_sample/04_detection/16_yolov11_pose/mapper/yolov11x_court_keypoint_256x256.onnx
2026-09-10 15:35:33,608 file: onnx_parser.py func: onnx_parser line No: 39 Model input names: ['images']
2026-09-10 15:35:33,609 file: mapper_conf_parser.py func: mapper_conf_parser line No: 264 Model has 1 inputs according to model file
2026-09-10 15:35:33,610 file: mapper_conf_parser.py func: mapper_conf_parser line No: 1347 Using abs path /open_explorer/samples/ai_toolchain/horizon_model_convert_sample/04_detection/16_yolov11_pose/mapper/yolov11x_court_keypoint_model_256x256_output
2026-09-10 15:35:33,610 file: mapper_conf_parser.py func: mapper_conf_parser line No: 287 working_dir does not exist. Creating working_dir: /open_explorer/samples/ai_toolchain/horizon_model_convert_sample/04_detection/16_yolov11_pose/mapper/yolov11x_court_keypoint_model_256x256_output
2026-09-10 15:35:33,612 file: mapper_conf_parser.py func: mapper_conf_parser line No: 438 node_dict: {self.node_dict}
2026-09-10 15:35:33,612 file: mapper_conf_parser.py func: mapper_conf_parser line No: 119 validating model_parameters finished
2026-09-10 15:35:33,613 file: mapper_conf_parser.py func: mapper_conf_parser line No: 123 validating input_parameters...
2026-09-10 15:35:33,613 file: mapper_conf_parser.py func: mapper_conf_parser line No: 492 Model name not given in yaml_file, using model name from model file: ['images']
2026-09-10 15:35:33,614 file: mapper_conf_parser.py func: mapper_conf_parser line No: 536 Model input shape not given in yaml_file, using shape from model file: [[1, 3, 256, 256]]
2026-09-10 15:35:33,614 file: mapper_conf_parser.py func: mapper_conf_parser line No: 719 Nv12 input layout info received. input type rt '0' is nv12 and layout 'NCHW' is not needed.
2026-09-10 15:35:33,615 file: mapper_conf_parser.py func: mapper_conf_parser line No: 135 validating input_parameters finished
2026-09-10 15:35:33,616 file: mapper_conf_parser.py func: mapper_conf_parser line No: 139 validating calibration_parameters...
2026-09-10 15:35:33,616 file: mapper_conf_parser.py func: mapper_conf_parser line No: 1347 Using abs path /open_explorer/samples/ai_toolchain/horizon_model_convert_sample/04_detection/16_yolov11_pose/mapper/court_keypoint_calibration_data_rgb_f32_256x256
2026-09-10 15:35:33,617 file: mapper_conf_parser.py func: mapper_conf_parser line No: 1007 The calibration dir name suffix is not the same as the value float32 of the parameter cal_data_type, the parameter setting will prevail
2026-09-10 15:35:33,618 file: mapper_conf_parser.py func: mapper_conf_parser line No: 155 validating calibration_parameters finished
2026-09-10 15:35:33,619 file: mapper_conf_parser.py func: mapper_conf_parser line No: 159 validating custom_op...
2026-09-10 15:35:33,619 file: mapper_conf_parser.py func: mapper_conf_parser line No: 1076 custom_op does not exist, skipped
2026-09-10 15:35:33,620 file: mapper_conf_parser.py func: mapper_conf_parser line No: 165 validating custom_op finished
2026-09-10 15:35:33,621 file: mapper_conf_parser.py func: mapper_conf_parser line No: 168 validating compiler_parameters...
2026-09-10 15:35:33,621 file: mapper_conf_parser.py func: mapper_conf_parser line No: 1157 Input node images's input_source not set, it will be set to pyramid by default
2026-09-10 15:35:33,622 file: mapper_conf_parser.py func: mapper_conf_parser line No: 183 validating compiler_parameters finished
2026-09-10 15:35:33,622 file: mapper_conf_parser.py func: mapper_conf_parser line No: 187 validating deprecated parameters...
2026-09-10 15:35:33,623 file: mapper_conf_parser.py func: mapper_conf_parser line No: 193 validating deprecated parameters finished
2026-09-10 15:35:33,623 file: hb_mapper_makertbin.py func: hb_mapper_makertbin line No: 54 Dump config:
2026-09-10 15:35:33,624 file: hb_mapper_makertbin.py func: hb_mapper_makertbin line No: 55 calibration_parameters:
  cal_data_dir: ./court_keypoint_calibration_data_rgb_f32_256x256
  cal_data_type: float32
  calibration_type: max
  max_percentile: 0.99995
  optimization: set_all_nodes_int16
  per_channel: true
compiler_parameters:
  compile_mode: latency
  debug: false
  max_time_per_fc: 1000
  optimize_level: O3
input_parameters:
  input_layout_rt: NCHW
  input_layout_train: NCHW
  input_name: ''
  input_type_rt: nv12
  input_type_train: rgb
  norm_type: data_scale
  scale_value: '0.003921568627451'
model_parameters:
  layer_out_dump: false
  march: bayes-e
  onnx_model: yolov11x_court_keypoint_256x256.onnx
  output_model_file_prefix: yolov11x_court_keypoint_bayese_256x256_nv12
  working_dir: yolov11x_court_keypoint_model_256x256_output

2026-09-10 15:35:33,625 file: hb_mapper_makertbin.py func: hb_mapper_makertbin line No: 60 input 'images' : original model shape: [1, 3, 256, 256]
2026-09-10 15:35:33,628 file: loader.py func: loader line No: 204 *******************************************
2026-09-10 15:35:33,629 file: loader.py func: loader line No: 205 First calibration picture name: 0204_pc1_venc0_train_1_01208.rgb
2026-09-10 15:35:33,629 file: loader.py func: loader line No: 207 First calibration picture md5:
2026-09-10 15:35:33,637 file: loader.py func: loader line No: 211 *******************************************
2026-09-10 15:35:33,639 file: loader.py func: loader line No: 282 created RawImageDirLoader of shape:[1, 3, 256, 256]
2026-09-10 15:35:33,640 file: loader.py func: loader line No: 287 Read raw file: /open_explorer/samples/ai_toolchain/horizon_model_convert_sample/04_detection/16_yolov11_pose/mapper/court_keypoint_calibration_data_rgb_f32_256x256/0204_pc1_venc0_train_1_01208.rgb
...
2026-09-10 15:35:35,500 file: loader.py func: loader line No: 287 Read raw file: /open_explorer/samples/ai_toolchain/horizon_model_convert_sample/04_detection/16_yolov11_pose/mapper/court_keypoint_calibration_data_rgb_f32_256x256/0926_pc3_venc0_train_0926_00535.rgb
2026-09-10 15:35:35,509 file: tool_utils.py func: tool_utils line No: 368 num of calibration data: 200
2026-09-10 15:35:35,509 file: tool_utils.py func: tool_utils line No: 369 calibration data shape: (1, 3, 256, 256)
2026-09-10 15:35:35,559 file: hb_mapper_makertbin.py func: hb_mapper_makertbin line No: 519 call build params:
...
2026-09-10 15:35:38,130 file: model_builder.py func: model_builder line No: 38 End to prepare the onnx model.
2026-09-10 15:35:38,774 file: model_builder.py func: model_builder line No: 265 Saving model to: yolov11x_court_keypoint_bayese_256x256_nv12_original_float_model.onnx.
2026-09-10 15:35:38,775 file: model_builder.py func: model_builder line No: 35 Start to optimize the onnx model.
2026-09-10 15:35:39,973 file: constant_folding.py func: constant_folding line No: 66 Summary info for constant_folding:
2026-09-10 15:35:39,975 file: constant_folding.py func: constant_folding line No: 67   After constant_folding, the number of nodes has changed from 644 to 632.
2026-09-10 15:35:39,975 file: constant_folding.py func: constant_folding line No: 71   After constant_folding, the number of parameters has changed from 58739116 to 58739116.
2026-09-10 15:35:39,976 file: constant_folding.py func: constant_folding line No: 76 Detailed info for constant_folding:
2026-09-10 15:35:39,976 file: constant_folding.py func: constant_folding line No: 88 
2026-09-10 15:35:40,813 file: model_builder.py func: model_builder line No: 38 End to optimize the onnx model.
2026-09-10 15:35:41,495 file: model_builder.py func: model_builder line No: 265 Saving model to: yolov11x_court_keypoint_bayese_256x256_nv12_optimized_float_model.onnx.
2026-09-10 15:35:41,496 file: model_builder.py func: model_builder line No: 35 Start to calibrate the model.
2026-09-10 15:35:42,182 file: calibration_data_set.py func: calibration_data_set line No: 111 input name: images,  number_of_samples: 200
2026-09-10 15:35:42,182 file: tool_utils.py func: tool_utils line No: 321 The input0 of Node(name:HZ_PREPROCESS_FOR_images, type:HzPreprocess) does not support data type: int16
2026-09-10 15:35:42,184 file: calibration_data_set.py func: calibration_data_set line No: 123 There are 200 samples in the data set.
2026-09-10 15:35:42,185 file: tool_utils.py func: tool_utils line No: 321 The input1 of Node(name:HZ_PREPROCESS_FOR_images, type:HzPreprocess) does not support data type: int16
2026-09-10 15:35:42,186 file: infer_thresholds.py func: infer_thresholds line No: 84 Run calibration model with max-percentile:percentile=0.99995,per_channel method.
2026-09-10 15:35:42,187 file: tool_utils.py func: tool_utils line No: 321 The input2 of Node(name:HZ_PREPROCESS_FOR_images, type:HzPreprocess) does not support data type: int16
2026-09-10 15:35:42,303 file: tool_utils.py func: tool_utils line No: 321 The output of Node(name:/model.14/Resize, type:Resize) does not support data type: int16
2026-09-10 15:35:42,613 file: tool_utils.py func: tool_utils line No: 321 The output of Node(name:/model.11/Resize, type:Resize) does not support data type: int16
2026-09-10 15:35:42,655 file: base.py func: base line No: 138 Calibration using batch 8
2026-09-10 15:35:42,655 file: tool_utils.py func: tool_utils line No: 321 The input0 of Node(name:/model.10/m/m.0/attn/MatMul, type:MatMul) does not support data type: int16
2026-09-10 15:35:42,820 file: tool_utils.py func: tool_utils line No: 321 The input1 of Node(name:/model.10/m/m.0/attn/MatMul, type:MatMul) does not support data type: int16
2026-09-10 15:35:43,234 file: tool_utils.py func: tool_utils line No: 321 The input0 of Node(name:/model.10/m/m.0/attn/MatMul_1, type:MatMul) does not support data type: int16
2026-09-10 15:35:43,236 file: tool_utils.py func: tool_utils line No: 321 The input1 of Node(name:/model.10/m/m.0/attn/MatMul_1, type:MatMul) does not support data type: int16
2026-09-10 15:35:43,237 file: tool_utils.py func: tool_utils line No: 321 The input0 of Node(name:/model.10/m/m.1/attn/MatMul, type:MatMul) does not support data type: int16
2026-09-10 15:35:43,239 file: tool_utils.py func: tool_utils line No: 321 The input1 of Node(name:/model.10/m/m.1/attn/MatMul, type:MatMul) does not support data type: int16
2026-09-10 15:35:43,240 file: tool_utils.py func: tool_utils line No: 321 The input0 of Node(name:/model.10/m/m.1/attn/MatMul_1, type:MatMul) does not support data type: int16
2026-09-10 15:35:43,241 file: tool_utils.py func: tool_utils line No: 321 The input1 of Node(name:/model.10/m/m.1/attn/MatMul_1, type:MatMul) does not support data type: int16
2026-09-10 15:35:43,243 file: tool_utils.py func: tool_utils line No: 321 The input0 of Node(name:/model.11/Resize, type:Resize) does not support data type: int16
2026-09-10 15:35:43,244 file: tool_utils.py func: tool_utils line No: 321 The input1 of Node(name:/model.11/Resize, type:Resize) does not support data type: int16
2026-09-10 15:35:43,253 file: tool_utils.py func: tool_utils line No: 321 The input2 of Node(name:/model.11/Resize, type:Resize) does not support data type: int16
2026-09-10 15:35:43,254 file: tool_utils.py func: tool_utils line No: 321 The input0 of Node(name:/model.14/Resize, type:Resize) does not support data type: int16
2026-09-10 15:35:43,256 file: tool_utils.py func: tool_utils line No: 321 The input1 of Node(name:/model.14/Resize, type:Resize) does not support data type: int16
2026-09-10 15:35:43,257 file: tool_utils.py func: tool_utils line No: 321 The input2 of Node(name:/model.14/Resize, type:Resize) does not support data type: int16
2026-09-10 15:35:43,259 file: tool_utils.py func: tool_utils line No: 321 The output of Node(name:/model.10/m/m.0/attn/Transpose) is int16, then requantized to int8
2026-09-10 15:35:43,260 file: tool_utils.py func: tool_utils line No: 321 The output of Node(name:/model.10/m/m.0/attn/Transpose_2) is int16, then requantized to int8
2026-09-10 15:35:43,262 file: tool_utils.py func: tool_utils line No: 321 The output of Node(name:/model.10/m/m.1/attn/Transpose) is int16, then requantized to int8
2026-09-10 15:35:43,263 file: tool_utils.py func: tool_utils line No: 321 The output of Node(name:/model.10/m/m.1/attn/Transpose_2) is int16, then requantized to int8
2026-09-10 15:35:43,961 file: ort.py func: ort line No: 207 Reset batch_size=1 and execute forward again...
2026-09-10 15:36:22,051 file: base.py func: base line No: 138 Calibration using batch 8
2026-09-10 15:36:24,082 file: ort.py func: ort line No: 207 Reset batch_size=1 and execute forward again...
2026-09-10 15:37:32,805 file: modelwise_search.py func: modelwise_search line No: 62 Perchannel quantization is enabled.
2026-09-10 15:37:35,072 file: model_builder.py func: model_builder line No: 38 End to calibrate the model.
2026-09-10 15:37:35,949 file: model_builder.py func: model_builder line No: 265 Saving model to: yolov11x_court_keypoint_bayese_256x256_nv12_calibrated_model.onnx.
2026-09-10 15:37:35,950 file: model_builder.py func: model_builder line No: 35 Start to quantize the model.
2026-09-10 15:37:45,022 file: constant_folding.py func: constant_folding line No: 66 Summary info for constant_folding:
2026-09-10 15:37:45,024 file: constant_folding.py func: constant_folding line No: 67   After constant_folding, the number of nodes has changed from 542 to 542.
2026-09-10 15:37:45,024 file: constant_folding.py func: constant_folding line No: 71   After constant_folding, the number of parameters has changed from 58786704 to 58786704.
2026-09-10 15:37:45,025 file: constant_folding.py func: constant_folding line No: 76 Detailed info for constant_folding:
2026-09-10 15:37:45,026 file: constant_folding.py func: constant_folding line No: 88 
2026-09-10 15:37:45,912 file: model_builder.py func: model_builder line No: 38 End to quantize the model.
2026-09-10 15:37:46,311 file: model_builder.py func: model_builder line No: 265 Saving model to: yolov11x_court_keypoint_bayese_256x256_nv12_quantized_model.onnx.
2026-09-10 15:37:46,311 file: model_builder.py func: model_builder line No: 35 Start to compile the model with march bayes-e.
2026-09-10 15:37:47,881 file: hybrid_build.py func: hybrid_build line No: 111 Compile submodel: torch_jit_subgraph_0
2026-09-10 15:37:48,004 file: hbdk_cc.py func: hbdk_cc line No: 126 hbdk-cc parameters:['--O3', '--core-num', '1', '--fast', '--max-time-per-fc', '1000', '--input-layout', 'NHWC', '--output-layout', 'NHWC', '--input-source', 'pyramid']
2026-09-10 15:37:48,005 file: hbdk_cc.py func: hbdk_cc line No: 127 hbdk-cc command used:hbdk-cc -f hbir -m /tmp/tmpxjb21ytv/torch_jit_subgraph_0.hbir -o /tmp/tmpxjb21ytv/torch_jit_subgraph_0.hbm --march bayes-e --progressbar --O3 --core-num 1 --fast --max-time-per-fc 1000 --input-layout NHWC --output-layout NHWC --input-source pyramid
2026-09-10 15:42:14,190 file: tool_utils.py func: tool_utils line No: 326 consumed time 266.17
2026-09-10 15:42:14,844 file: tool_utils.py func: tool_utils line No: 326 FPS=20.83, latency = 48003.7 us, DDR = 176492480 bytes   (see torch_jit_subgraph_0.html)
2026-09-10 15:42:15,616 file: model_builder.py func: model_builder line No: 38 End to compile the model with march bayes-e.
2026-09-10 15:42:20,306 file: print_info_dict.py func: print_info_dict line No: 72 The main quantized node information:
======================================================================================================================================
Node                                                ON   Subgraph  Type                       Cosine Similarity  Threshold  DataType  
--------------------------------------------------------------------------------------------------------------------------------------
HZ_PREPROCESS_FOR_images                            BPU  id(0)     HzSQuantizedPreprocess     0.999995           127.0      int8      
/model.0/conv/Conv                                  BPU  id(0)     HzSQuantizedConv           0.999739           1.05237    int16     
variable_1522_Requantize                            BPU  id(0)     HzRequantize               --                 --         int16     
/model.0/act/Mul                                    BPU  id(0)     HzLut2Layer                0.999474           48.4136    int16     
/model.1/conv/Conv                                  BPU  id(0)     HzSQuantizedConv           0.999498           44.2955    int16     
/model.1/act/Mul                                    BPU  id(0)     HzLut2Layer                0.999254           38.1777    int16     
/model.2/cv1/conv/Conv                              BPU  id(0)     HzSQuantizedConv           0.999204           26.9646    int16     
/model.2/cv1/act/Mul                                BPU  id(0)     HzLut2Layer                0.999340           23.0673    int16     
/model.2/Split                                      BPU  id(0)     Split                      0.999069           19.1982    int16     
/model.2/m.0/cv1/conv/Conv                          BPU  id(0)     HzSQuantizedConv           0.999279           19.1982    int16     
/model.2/m.0/cv1/act/Mul                            BPU  id(0)     HzLut2Layer                0.999393           16.1713    int16     
/model.2/m.0/m/m.0/cv1/conv/Conv                    BPU  id(0)     HzSQuantizedConv           0.999290           15.207     int16     
/model.2/m.0/m/m.0/cv1/act/Mul                      BPU  id(0)     HzLut2Layer                0.999227           17.3678    int16     
/model.2/m.0/m/m.0/cv2/conv/Conv                    BPU  id(0)     HzSQuantizedConv           0.999564           11.4063    int16     
/model.2/m.0/m/m.0/cv2/act/Mul                      BPU  id(0)     HzLut2Layer                0.999610           10.3331    int16     
/model.2/m.0/m/m.0/Add                              BPU  id(0)     HzSElementwiseAdd          0.999546           15.207     int16     
/model.2/m.0/m/m.1/cv1/conv/Conv                    BPU  id(0)     HzSQuantizedConv           0.999516           16.2936    int16     
/model.2/m.0/m/m.1/cv1/act/Mul                      BPU  id(0)     HzLut2Layer                0.998446           15.0318    int16     
/model.2/m.0/m/m.1/cv2/conv/Conv                    BPU  id(0)     HzSQuantizedConv           0.999071           8.85866    int16     
/model.2/m.0/m/m.1/cv2/act/Mul                      BPU  id(0)     HzLut2Layer                0.999250           13.2153    int16     
/model.2/m.0/m/m.1/Add                              BPU  id(0)     HzSElementwiseAdd          0.999507           16.2936    int16     
/model.2/m.0/cv2/conv/Conv                          BPU  id(0)     HzSQuantizedConv           0.999235           19.1982    int16     
/model.2/m.0/cv2/act/Mul                            BPU  id(0)     HzLut2Layer                0.999258           20.0882    int16     
/model.2/m.0/Concat                                 BPU  id(0)     Concat                     0.999429           20.2858    int16     
/model.2/m.0/cv3/conv/Conv                          BPU  id(0)     HzSQuantizedConv           0.999203           20.2858    int16     
/model.2/m.0/cv3/act/Mul                            BPU  id(0)     HzLut2Layer                0.999045           14.7949    int16     
/model.2/m.1/cv1/conv/Conv                          BPU  id(0)     HzSQuantizedConv           0.999505           13.8168    int16     
/model.2/m.1/cv1/act/Mul                            BPU  id(0)     HzLut2Layer                0.999187           8.53702    int16     
/model.2/m.1/m/m.0/cv1/conv/Conv                    BPU  id(0)     HzSQuantizedConv           0.999409           8.52826    int16     
/model.2/m.1/m/m.0/cv1/act/Mul                      BPU  id(0)     HzLut2Layer                0.999075           13.2928    int16     
/model.2/m.1/m/m.0/cv2/conv/Conv                    BPU  id(0)     HzSQuantizedConv           0.999392           9.29112    int16     
/model.2/m.1/m/m.0/cv2/act/Mul                      BPU  id(0)     HzLut2Layer                0.999396           9.15062    int16     
/model.2/m.1/m/m.0/Add                              BPU  id(0)     HzSElementwiseAdd          0.999438           8.52826    int16     
/model.2/m.1/m/m.1/cv1/conv/Conv                    BPU  id(0)     HzSQuantizedConv           0.999700           9.25453    int16     
/model.2/m.1/m/m.1/cv1/act/Mul                      BPU  id(0)     HzLut2Layer                0.999353           7.52129    int16     
/model.2/m.1/m/m.1/cv2/conv/Conv                    BPU  id(0)     HzSQuantizedConv           0.999605           5.747      int16     
/model.2/m.1/m/m.1/cv2/act/Mul                      BPU  id(0)     HzLut2Layer                0.999639           9.07597    int16     
/model.2/m.1/m/m.1/Add                              BPU  id(0)     HzSElementwiseAdd          0.999683           9.25453    int16     
/model.2/m.1/cv2/conv/Conv                          BPU  id(0)     HzSQuantizedConv           0.999762           13.8168    int16     
/model.2/m.1/cv2/act/Mul                            BPU  id(0)     HzLut2Layer                0.999803           8.77759    int16     
/model.2/m.1/Concat                                 BPU  id(0)     Concat                     0.999683           11.4941    int16     
/model.2/m.1/cv3/conv/Conv                          BPU  id(0)     HzSQuantizedConv           0.999094           11.4941    int16     
/model.2/m.1/cv3/act/Mul                            BPU  id(0)     HzLut2Layer                0.999056           13.6376    int16     
/model.2/Split_output_0_calibrated_Requantize       BPU  id(0)     HzRequantize               --                 --         int16     
/model.2/Split_output_1_calibrated_Requantize       BPU  id(0)     HzRequantize               --                 --         int16     
.../m.0/cv3/act/Mul_output_0_calibrated_Requantize  BPU  id(0)     HzRequantize               --                 --         int16     
/model.2/Concat                                     BPU  id(0)     Concat                     0.999110           19.1982    int16     
/model.2/cv2/conv/Conv                              BPU  id(0)     HzSQuantizedConv           0.999607           17.1546    int16     
/model.2/cv2/act/Mul                                BPU  id(0)     HzLut2Layer                0.999169           10.39      int16     
/model.3/conv/Conv                                  BPU  id(0)     HzSQuantizedConv           0.999767           8.86029    int16     
/model.3/act/Mul                                    BPU  id(0)     HzLut2Layer                0.999576           8.94642    int16     
/model.4/cv1/conv/Conv                              BPU  id(0)     HzSQuantizedConv           0.999658           8.84059    int16     
/model.4/cv1/act/Mul                                BPU  id(0)     HzLut2Layer                0.999527           11.0815    int16     
/model.4/Split                                      BPU  id(0)     Split                      0.999433           10.9019    int16     
/model.4/m.0/cv1/conv/Conv                          BPU  id(0)     HzSQuantizedConv           0.999759           10.9019    int16     
/model.4/m.0/cv1/act/Mul                            BPU  id(0)     HzLut2Layer                0.999682           9.28539    int16     
/model.4/m.0/m/m.0/cv1/conv/Conv                    BPU  id(0)     HzSQuantizedConv           0.999832           9.12165    int16     
/model.4/m.0/m/m.0/cv1/act/Mul                      BPU  id(0)     HzLut2Layer                0.999461           9.70152    int16     
/model.4/m.0/m/m.0/cv2/conv/Conv                    BPU  id(0)     HzSQuantizedConv           0.999634           7.19346    int16     
/model.4/m.0/m/m.0/cv2/act/Mul                      BPU  id(0)     HzLut2Layer                0.999549           9.37117    int16     
/model.4/m.0/m/m.0/Add                              BPU  id(0)     HzSElementwiseAdd          0.999637           9.12165    int16     
/model.4/m.0/m/m.1/cv1/conv/Conv                    BPU  id(0)     HzSQuantizedConv           0.999882           9.5662     int16     
/model.4/m.0/m/m.1/cv1/act/Mul                      BPU  id(0)     HzLut2Layer                0.999648           7.79349    int16     
/model.4/m.0/m/m.1/cv2/conv/Conv                    BPU  id(0)     HzSQuantizedConv           0.999672           6.7126     int16     
/model.4/m.0/m/m.1/cv2/act/Mul                      BPU  id(0)     HzLut2Layer                0.999650           10.7333    int16     
/model.4/m.0/m/m.1/Add                              BPU  id(0)     HzSElementwiseAdd          0.999691           9.5662     int16     
/model.4/m.0/cv2/conv/Conv                          BPU  id(0)     HzSQuantizedConv           0.999850           10.9019    int16     
/model.4/m.0/cv2/act/Mul                            BPU  id(0)     HzLut2Layer                0.999723           8.74658    int16     
/model.4/m.0/Concat                                 BPU  id(0)     Concat                     0.999691           11.4041    int16     
/model.4/m.0/cv3/conv/Conv                          BPU  id(0)     HzSQuantizedConv           0.999697           11.4041    int16     
/model.4/m.0/cv3/act/Mul                            BPU  id(0)     HzLut2Layer                0.999526           8.90029    int16     
/model.4/m.1/cv1/conv/Conv                          BPU  id(0)     HzSQuantizedConv           0.999856           8.6903     int16     
/model.4/m.1/cv1/act/Mul                            BPU  id(0)     HzLut2Layer                0.999803           8.40681    int16     
/model.4/m.1/m/m.0/cv1/conv/Conv                    BPU  id(0)     HzSQuantizedConv           0.999772           8.40493    int16     
/model.4/m.1/m/m.0/cv1/act/Mul                      BPU  id(0)     HzLut2Layer                0.999423           7.14333    int16     
/model.4/m.1/m/m.0/cv2/conv/Conv                    BPU  id(0)     HzSQuantizedConv           0.999690           5.92905    int16     
/model.4/m.1/m/m.0/cv2/act/Mul                      BPU  id(0)     HzLut2Layer                0.999598           7.1        int16     
/model.4/m.1/m/m.0/Add                              BPU  id(0)     HzSElementwiseAdd          0.999722           8.40493    int16     
/model.4/m.1/m/m.1/cv1/conv/Conv                    BPU  id(0)     HzSQuantizedConv           0.999827           8.79616    int16     
/model.4/m.1/m/m.1/cv1/act/Mul                      BPU  id(0)     HzLut2Layer                0.999268           6.40964    int16     
/model.4/m.1/m/m.1/cv2/conv/Conv                    BPU  id(0)     HzSQuantizedConv           0.999620           5.697      int16     
/model.4/m.1/m/m.1/cv2/act/Mul                      BPU  id(0)     HzLut2Layer                0.999697           10.1554    int16     
/model.4/m.1/m/m.1/Add                              BPU  id(0)     HzSElementwiseAdd          0.999752           8.79616    int16     
/model.4/m.1/cv2/conv/Conv                          BPU  id(0)     HzSQuantizedConv           0.999922           8.6903     int16     
/model.4/m.1/cv2/act/Mul                            BPU  id(0)     HzLut2Layer                0.999949           5.06982    int16     
/model.4/m.1/Concat                                 BPU  id(0)     Concat                     0.999754           10.4581    int16     
/model.4/m.1/cv3/conv/Conv                          BPU  id(0)     HzSQuantizedConv           0.999662           10.4581    int16     
/model.4/m.1/cv3/act/Mul                            BPU  id(0)     HzLut2Layer                0.999596           8.12596    int16     
/model.4/Split_output_0_calibrated_Requantize       BPU  id(0)     HzRequantize               --                 --         int16     
/model.4/Split_output_1_calibrated_Requantize       BPU  id(0)     HzRequantize               --                 --         int16     
.../m.0/cv3/act/Mul_output_0_calibrated_Requantize  BPU  id(0)     HzRequantize               --                 --         int16     
/model.4/Concat                                     BPU  id(0)     Concat                     0.999478           10.9019    int16     
/model.4/cv2/conv/Conv                              BPU  id(0)     HzSQuantizedConv           0.999758           9.844      int16     
/model.4/cv2/act/Mul                                BPU  id(0)     HzLut2Layer                0.999529           7.55435    int16     
/model.5/conv/Conv                                  BPU  id(0)     HzSQuantizedConv           0.999824           6.89459    int16     
/model.5/act/Mul                                    BPU  id(0)     HzLut2Layer                0.999627           5.67276    int16     
/model.6/cv1/conv/Conv                              BPU  id(0)     HzSQuantizedConv           0.999752           5.55827    int16     
/model.6/cv1/act/Mul                                BPU  id(0)     HzLut2Layer                0.999674           7.45034    int16     
/model.6/Split                                      BPU  id(0)     Split                      0.999737           7.42279    int16     
/model.6/m.0/cv1/conv/Conv                          BPU  id(0)     HzSQuantizedConv           0.999675           7.42279    int16     
/model.6/m.0/cv1/act/Mul                            BPU  id(0)     HzLut2Layer                0.999338           6.77121    int16     
/model.6/m.0/m/m.0/cv1/conv/Conv                    BPU  id(0)     HzSQuantizedConv           0.999567           6.57526    int16     
/model.6/m.0/m/m.0/cv1/act/Mul                      BPU  id(0)     HzLut2Layer                0.998929           6.10407    int16     
/model.6/m.0/m/m.0/cv2/conv/Conv                    BPU  id(0)     HzSQuantizedConv           0.999292           4.7094     int16     
/model.6/m.0/m/m.0/cv2/act/Mul                      BPU  id(0)     HzLut2Layer                0.998650           8.507      int16     
/model.6/m.0/m/m.0/Add                              BPU  id(0)     HzSElementwiseAdd          0.998844           6.57526    int16     
/model.6/m.0/m/m.1/cv1/conv/Conv                    BPU  id(0)     HzSQuantizedConv           0.999227           11.0894    int16     
/model.6/m.0/m/m.1/cv1/act/Mul                      BPU  id(0)     HzLut2Layer                0.998663           11.3527    int16     
/model.6/m.0/m/m.1/cv2/conv/Conv                    BPU  id(0)     HzSQuantizedConv           0.998594           11.2017    int16     
/model.6/m.0/m/m.1/cv2/act/Mul                      BPU  id(0)     HzLut2Layer                0.998297           23.2091    int16     
/model.6/m.0/m/m.1/Add                              BPU  id(0)     HzSElementwiseAdd          0.998509           11.0894    int16     
/model.6/m.0/cv2/conv/Conv                          BPU  id(0)     HzSQuantizedConv           0.999534           7.42279    int16     
/model.6/m.0/cv2/act/Mul                            BPU  id(0)     HzLut2Layer                0.999247           8.48508    int16     
/model.6/m.0/Concat                                 BPU  id(0)     Concat                     0.998526           27.5865    int16     
/model.6/m.0/cv3/conv/Conv                          BPU  id(0)     HzSQuantizedConv           0.998677           27.5865    int16     
/model.6/m.0/cv3/act/Mul                            BPU  id(0)     HzLut2Layer                0.998290           16.3494    int16     
/model.6/m.1/cv1/conv/Conv                          BPU  id(0)     HzSQuantizedConv           0.998895           16.3494    int16     
/model.6/m.1/cv1/act/Mul                            BPU  id(0)     HzLut2Layer                0.997788           12.3725    int16     
/model.6/m.1/m/m.0/cv1/conv/Conv                    BPU  id(0)     HzSQuantizedConv           0.998800           10.3425    int16     
/model.6/m.1/m/m.0/cv1/act/Mul                      BPU  id(0)     HzLut2Layer                0.999139           10.1459    int16     
/model.6/m.1/m/m.0/cv2/conv/Conv                    BPU  id(0)     HzSQuantizedConv           0.999111           8.7275     int16     
/model.6/m.1/m/m.0/cv2/act/Mul                      BPU  id(0)     HzLut2Layer                0.999297           10.0626    int16     
/model.6/m.1/m/m.0/Add                              BPU  id(0)     HzSElementwiseAdd          0.998658           10.3425    int16     
/model.6/m.1/m/m.1/cv1/conv/Conv                    BPU  id(0)     HzSQuantizedConv           0.999128           12.6929    int16     
/model.6/m.1/m/m.1/cv1/act/Mul                      BPU  id(0)     HzLut2Layer                0.999077           7.50352    int16     
/model.6/m.1/m/m.1/cv2/conv/Conv                    BPU  id(0)     HzSQuantizedConv           0.999105           7.11137    int16     
/model.6/m.1/m/m.1/cv2/act/Mul                      BPU  id(0)     HzLut2Layer                0.999345           8.68859    int16     
/model.6/m.1/m/m.1/Add                              BPU  id(0)     HzSElementwiseAdd          0.999254           12.6929    int16     
/model.6/m.1/cv2/conv/Conv                          BPU  id(0)     HzSQuantizedConv           0.998957           16.3494    int16     
/model.6/m.1/cv2/act/Mul                            BPU  id(0)     HzLut2Layer                0.997755           11.1791    int16     
/model.6/m.1/Concat                                 BPU  id(0)     Concat                     0.999200           13.2881    int16     
/model.6/m.1/cv3/conv/Conv                          BPU  id(0)     HzSQuantizedConv           0.999192           13.2881    int16     
/model.6/m.1/cv3/act/Mul                            BPU  id(0)     HzLut2Layer                0.999189           9.01841    int16     
/model.6/Split_output_0_calibrated_Requantize       BPU  id(0)     HzRequantize               --                 --         int16     
/model.6/Split_output_1_calibrated_Requantize       BPU  id(0)     HzRequantize               --                 --         int16     
.../m.0/cv3/act/Mul_output_0_calibrated_Requantize  BPU  id(0)     HzRequantize               --                 --         int16     
/model.6/Concat                                     BPU  id(0)     Concat                     0.998878           7.42279    int16     
/model.6/cv2/conv/Conv                              BPU  id(0)     HzSQuantizedConv           0.998941           13.6694    int16     
/model.6/cv2/act/Mul                                BPU  id(0)     HzLut2Layer                0.998545           16.0817    int16     
/model.7/conv/Conv                                  BPU  id(0)     HzSQuantizedConv           0.998758           15.884     int16     
/model.7/act/Mul                                    BPU  id(0)     HzLut2Layer                0.998544           17.8982    int16     
/model.8/cv1/conv/Conv                              BPU  id(0)     HzSQuantizedConv           0.998642           17.8982    int16     
/model.8/cv1/act/Mul                                BPU  id(0)     HzLut2Layer                0.998520           19.4578    int16     
/model.8/Split                                      BPU  id(0)     Split                      0.998905           19.4578    int16     
/model.8/m.0/cv1/conv/Conv                          BPU  id(0)     HzSQuantizedConv           0.998442           19.4578    int16     
/model.8/m.0/cv1/act/Mul                            BPU  id(0)     HzLut2Layer                0.997961           17.89      int16     
/model.8/m.0/m/m.0/cv1/conv/Conv                    BPU  id(0)     HzSQuantizedConv           0.998155           17.89      int16     
/model.8/m.0/m/m.0/cv1/act/Mul                      BPU  id(0)     HzLut2Layer                0.997426           16.0555    int16     
/model.8/m.0/m/m.0/cv2/conv/Conv                    BPU  id(0)     HzSQuantizedConv           0.997175           14.5535    int16     
/model.8/m.0/m/m.0/cv2/act/Mul                      BPU  id(0)     HzLut2Layer                0.995432           16.4966    int16     
/model.8/m.0/m/m.0/Add                              BPU  id(0)     HzSElementwiseAdd          0.997018           17.89      int16     
/model.8/m.0/m/m.1/cv1/conv/Conv                    BPU  id(0)     HzSQuantizedConv           0.997788           25.9671    int16     
/model.8/m.0/m/m.1/cv1/act/Mul                      BPU  id(0)     HzLut2Layer                0.993834           13.6662    int16     
/model.8/m.0/m/m.1/cv2/conv/Conv                    BPU  id(0)     HzSQuantizedConv           0.996380           13.6334    int16     
/model.8/m.0/m/m.1/cv2/act/Mul                      BPU  id(0)     HzLut2Layer                0.995681           11.9005    int16     
/model.8/m.0/m/m.1/Add                              BPU  id(0)     HzSElementwiseAdd          0.997048           25.9671    int16     
/model.8/m.0/cv2/conv/Conv                          BPU  id(0)     HzSQuantizedConv           0.997912           19.4578    int16     
/model.8/m.0/cv2/act/Mul                            BPU  id(0)     HzLut2Layer                0.996523           15.056     int16     
/model.8/m.0/Concat                                 BPU  id(0)     Concat                     0.996983           25.7703    int16     
/model.8/m.0/cv3/conv/Conv                          BPU  id(0)     HzSQuantizedConv           0.997154           25.7703    int16     
/model.8/m.0/cv3/act/Mul                            BPU  id(0)     HzLut2Layer                0.996485           17.5716    int16     
/model.8/m.1/cv1/conv/Conv                          BPU  id(0)     HzSQuantizedConv           0.996262           17.4673    int16     
/model.8/m.1/cv1/act/Mul                            BPU  id(0)     HzLut2Layer                0.992715           16.9977    int16     
/model.8/m.1/m/m.0/cv1/conv/Conv                    BPU  id(0)     HzSQuantizedConv           0.998465           16.9977    int16     
/model.8/m.1/m/m.0/cv1/act/Mul                      BPU  id(0)     HzLut2Layer                0.997440           8.20628    int16     
/model.8/m.1/m/m.0/cv2/conv/Conv                    BPU  id(0)     HzSQuantizedConv           0.999650           6.37658    int16     
/model.8/m.1/m/m.0/cv2/act/Mul                      BPU  id(0)     HzLut2Layer                0.999612           3.67352    int16     
/model.8/m.1/m/m.0/Add                              BPU  id(0)     HzSElementwiseAdd          0.997400           16.9977    int16     
/model.8/m.1/m/m.1/cv1/conv/Conv                    BPU  id(0)     HzSQuantizedConv           0.997760           17.932     int16     
/model.8/m.1/m/m.1/cv1/act/Mul                      BPU  id(0)     HzLut2Layer                0.997352           16.1021    int16     
/model.8/m.1/m/m.1/cv2/conv/Conv                    BPU  id(0)     HzSQuantizedConv           0.996933           16.102     int16     
/model.8/m.1/m/m.1/cv2/act/Mul                      BPU  id(0)     HzLut2Layer                0.996908           19.3761    int16     
/model.8/m.1/m/m.1/Add                              BPU  id(0)     HzSElementwiseAdd          0.997298           17.932     int16     
/model.8/m.1/cv2/conv/Conv                          BPU  id(0)     HzSQuantizedConv           0.998030           17.4673    int16     
/model.8/m.1/cv2/act/Mul                            BPU  id(0)     HzLut2Layer                0.999166           14.0887    int16     
/model.8/m.1/Concat                                 BPU  id(0)     Concat                     0.997444           22.1448    int16     
/model.8/m.1/cv3/conv/Conv                          BPU  id(0)     HzSQuantizedConv           0.997665           22.1448    int16     
/model.8/m.1/cv3/act/Mul                            BPU  id(0)     HzLut2Layer                0.997243           11.5691    int16     
/model.8/Split_output_0_calibrated_Requantize       BPU  id(0)     HzRequantize               --                 --         int16     
/model.8/Split_output_1_calibrated_Requantize       BPU  id(0)     HzRequantize               --                 --         int16     
.../m.0/cv3/act/Mul_output_0_calibrated_Requantize  BPU  id(0)     HzRequantize               --                 --         int16     
/model.8/Concat                                     BPU  id(0)     Concat                     0.997759           19.4578    int16     
/model.8/cv2/conv/Conv                              BPU  id(0)     HzSQuantizedConv           0.999042           18.2965    int16     
/model.8/cv2/act/Mul                                BPU  id(0)     HzLut2Layer                0.999033           15.8207    int16     
/model.9/cv1/conv/Conv                              BPU  id(0)     HzSQuantizedConv           0.998863           15.7444    int16     
/model.9/m/MaxPool                                  BPU  id(0)     HzQuantizedMaxPool         0.999260           13.7874    int16     
/model.9/m_1/MaxPool                                BPU  id(0)     HzQuantizedMaxPool         0.999396           13.7874    int16     
/model.9/m_2/MaxPool                                BPU  id(0)     HzQuantizedMaxPool         0.999548           13.7874    int16     
/model.9/Concat                                     BPU  id(0)     Concat                     0.999213           13.7874    int16     
/model.9/cv2/conv/Conv                              BPU  id(0)     HzSQuantizedConv           0.999771           13.7874    int16     
/model.9/cv2/act/Mul                                BPU  id(0)     HzLut2Layer                0.999780           6.85189    int16     
/model.10/cv1/conv/Conv                             BPU  id(0)     HzSQuantizedConv           0.999823           6.82077    int16     
/model.10/cv1/act/Mul                               BPU  id(0)     HzLut2Layer                0.999801           8.60449    int16     
/model.10/Split                                     BPU  id(0)     Split                      0.999868           8.55743    int16     
/model.10/m/m.0/attn/qkv/conv/Conv                  BPU  id(0)     HzSQuantizedConv           0.999752           8.55743    int16     
/model.10/m/m.0/attn/Reshape                        BPU  id(0)     Reshape                    0.999752           9.68014    int16     
/model.10/m/m.0/attn/Split                          BPU  id(0)     Split                      0.999848           9.68014    int16     
...0/attn/Transpose_output_0_calibrated_Requantize  BPU  id(0)     HzRequantize               --                 --         int16     
/model.10/m/m.0/attn/Split_output_1_Requantize      BPU  id(0)     HzRequantize               --                 --         int16     
/model.10/m/m.0/attn/MatMul                         BPU  id(0)     HzSQuantizedMatmul         0.999688           9.68014    int8      
/model.10/m/m.0/attn/Mul                            BPU  id(0)     HzSQuantizedConv           0.999688           358.761    int16     
/model.10/m/m.0/attn/ReduceMax                      BPU  id(0)     HzQuantizedReduceMax       0.999725           63.4205    int16     
/model.10/m/m.0/attn/Sub                            BPU  id(0)     HzSElementwiseSub          0.996009           63.4205    int16     
/model.10/m/m.0/attn/Exp                            BPU  id(0)     HzLut2Layer                0.963996           48.7613    int16     
/model.10/m/m.0/attn/ReduceSum                      BPU  id(0)     HzSQuantizedReduceSum      0.995237           1.0        int16     
/model.10/m/m.0/attn/Div_reciprocal                 BPU  id(0)     HzLut2Layer                0.963504           31.0544    int16     
/model.10/m/m.0/attn/Div_mul                        BPU  id(0)     HzSElementwiseMul          0.846076           1.0        int16     
/model.10/m/m.0/attn/Transpose_2                    BPU  id(0)     Transpose                  0.846076           0.997208   int8      
/model.10/m/m.0/attn/Split_output_2_Requantize      BPU  id(0)     HzRequantize               --                 --         int16     
/model.10/m/m.0/attn/MatMul_1                       BPU  id(0)     HzSQuantizedMatmul         0.999770           9.68014    int8      
/model.10/m/m.0/attn/Reshape_1                      BPU  id(0)     Reshape                    0.999770           10.1452    int16     
/model.10/m/m.0/attn/Reshape_2                      BPU  id(0)     Reshape                    0.999794           9.68014    int16     
/model.10/m/m.0/attn/pe/conv/Conv                   BPU  id(0)     HzSQuantizedConv           0.999707           9.68014    int16     
variable_1527_Requantize                            BPU  id(0)     HzRequantize               --                 --         int16     
/model.10/m/m.0/attn/Add                            BPU  id(0)     HzSElementwiseAdd          0.999271           10.1452    int16     
/model.10/m/m.0/attn/proj/conv/Conv                 BPU  id(0)     HzSQuantizedConv           0.999553           9.95981    int16     
/model.10/m/m.0/Add                                 BPU  id(0)     HzSElementwiseAdd          0.999764           8.55743    int16     
/model.10/m/m.0/ffn/ffn.0/conv/Conv                 BPU  id(0)     HzSQuantizedConv           0.999728           14.0057    int16     
/model.10/m/m.0/ffn/ffn.0/act/Mul                   BPU  id(0)     HzLut2Layer                0.999818           7.76713    int16     
/model.10/m/m.0/ffn/ffn.1/conv/Conv                 BPU  id(0)     HzSQuantizedConv           0.999832           7.71614    int16     
/model.10/m/m.0/Add_1                               BPU  id(0)     HzSElementwiseAdd          0.999804           14.0057    int16     
/model.10/m/m.1/attn/qkv/conv/Conv                  BPU  id(0)     HzSQuantizedConv           0.999864           18.59      int16     
/model.10/m/m.1/attn/Reshape                        BPU  id(0)     Reshape                    0.999864           11.453     int16     
/model.10/m/m.1/attn/Split                          BPU  id(0)     Split                      0.999890           11.453     int16     
...1/attn/Transpose_output_0_calibrated_Requantize  BPU  id(0)     HzRequantize               --                 --         int16     
/model.10/m/m.1/attn/Split_output_1_Requantize      BPU  id(0)     HzRequantize               --                 --         int16     
/model.10/m/m.1/attn/MatMul                         BPU  id(0)     HzSQuantizedMatmul         0.999524           11.453     int8      
/model.10/m/m.1/attn/Mul                            BPU  id(0)     HzSQuantizedConv           0.999524           404.861    int16     
/model.10/m/m.1/attn/ReduceMax                      BPU  id(0)     HzQuantizedReduceMax       0.999812           71.57      int16     
/model.10/m/m.1/attn/Sub                            BPU  id(0)     HzSElementwiseSub          0.999555           71.57      int16     
/model.10/m/m.1/attn/Exp                            BPU  id(0)     HzLut2Layer                0.987206           87.1239    int16     
/model.10/m/m.1/attn/ReduceSum                      BPU  id(0)     HzSQuantizedReduceSum      0.996519           1.0        int16     
/model.10/m/m.1/attn/Div_reciprocal                 BPU  id(0)     HzLut2Layer                0.998149           38.0593    int16     
/model.10/m/m.1/attn/Div_mul                        BPU  id(0)     HzSElementwiseMul          0.992576           1.0        int16     
/model.10/m/m.1/attn/Transpose_2                    BPU  id(0)     Transpose                  0.992576           0.990095   int8      
/model.10/m/m.1/attn/Split_output_2_Requantize      BPU  id(0)     HzRequantize               --                 --         int16     
/model.10/m/m.1/attn/MatMul_1                       BPU  id(0)     HzSQuantizedMatmul         0.999898           11.453     int8      
/model.10/m/m.1/attn/Reshape_1                      BPU  id(0)     Reshape                    0.999898           9.2799     int16     
/model.10/m/m.1/attn/Reshape_2                      BPU  id(0)     Reshape                    0.999884           11.453     int16     
/model.10/m/m.1/attn/pe/conv/Conv                   BPU  id(0)     HzSQuantizedConv           0.999783           11.453     int16     
variable_1528_Requantize                            BPU  id(0)     HzRequantize               --                 --         int16     
/model.10/m/m.1/attn/Add                            BPU  id(0)     HzSElementwiseAdd          0.999754           9.2799     int16     
/model.10/m/m.1/attn/proj/conv/Conv                 BPU  id(0)     HzSQuantizedConv           0.999817           17.4966    int16     
/model.10/m/m.1/Add                                 BPU  id(0)     HzSElementwiseAdd          0.999848           18.59      int16     
/model.10/m/m.1/ffn/ffn.0/conv/Conv                 BPU  id(0)     HzSQuantizedConv           0.999962           23.566     int16     
/model.10/m/m.1/ffn/ffn.0/act/Mul                   BPU  id(0)     HzLut2Layer                0.999955           8.663      int16     
/model.10/m/m.1/ffn/ffn.1/conv/Conv                 BPU  id(0)     HzSQuantizedConv           0.999927           8.6615     int16     
/model.10/m/m.1/Add_1                               BPU  id(0)     HzSElementwiseAdd          0.999831           23.566     int16     
/model.10/Split_output_0_calibrated_Requantize      BPU  id(0)     HzRequantize               --                 --         int16     
/model.10/Concat                                    BPU  id(0)     Concat                     0.999832           8.55743    int16     
/model.10/cv2/conv/Conv                             BPU  id(0)     HzSQuantizedConv           0.999846           23.9212    int16     
/model.10/cv2/act/Mul                               BPU  id(0)     HzLut2Layer                0.999806           9.4852     int16     
...l.10/cv2/act/Mul_output_0_calibrated_Requantize  BPU  id(0)     HzRequantize               --                 --         int16     
/model.11/Resize                                    BPU  id(0)     HzQuantizedResizeUpsample  0.999806           8.52714    int8      
/model.11/Resize_output_0_Requantize                BPU  id(0)     HzRequantize               --                 --         int8      
/model.11/Resize_output_0_calibrated_Requantize     BPU  id(0)     HzRequantize               --                 --         int16     
...el.6/cv2/act/Mul_output_0_calibrated_Requantize  BPU  id(0)     HzRequantize               --                 --         int16     
/model.12/Concat                                    BPU  id(0)     Concat                     0.999155           8.52714    int16     
/model.13/cv1/conv/Conv                             BPU  id(0)     HzSQuantizedConv           0.999614           14.0865    int16     
/model.13/cv1/act/Mul                               BPU  id(0)     HzLut2Layer                0.999574           11.8284    int16     
/model.13/Split                                     BPU  id(0)     Split                      0.999686           10.7871    int16     
/model.13/m.0/cv1/conv/Conv                         BPU  id(0)     HzSQuantizedConv           0.999435           10.7871    int16     
/model.13/m.0/cv1/act/Mul                           BPU  id(0)     HzLut2Layer                0.998791           9.99734    int16     
/model.13/m.0/m/m.0/cv1/conv/Conv                   BPU  id(0)     HzSQuantizedConv           0.999459           7.13606    int16     
/model.13/m.0/m/m.0/cv1/act/Mul                     BPU  id(0)     HzLut2Layer                0.998913           7.7287     int16     
/model.13/m.0/m/m.0/cv2/conv/Conv                   BPU  id(0)     HzSQuantizedConv           0.999383           6.37761    int16     
/model.13/m.0/m/m.0/cv2/act/Mul                     BPU  id(0)     HzLut2Layer                0.999122           5.69729    int16     
/model.13/m.0/m/m.0/Add                             BPU  id(0)     HzSElementwiseAdd          0.999065           7.13606    int16     
/model.13/m.0/m/m.1/cv1/conv/Conv                   BPU  id(0)     HzSQuantizedConv           0.999564           7.82954    int16     
/model.13/m.0/m/m.1/cv1/act/Mul                     BPU  id(0)     HzLut2Layer                0.999134           6.19624    int16     
/model.13/m.0/m/m.1/cv2/conv/Conv                   BPU  id(0)     HzSQuantizedConv           0.999150           6.18365    int16     
/model.13/m.0/m/m.1/cv2/act/Mul                     BPU  id(0)     HzLut2Layer                0.999005           7.86073    int16     
/model.13/m.0/m/m.1/Add                             BPU  id(0)     HzSElementwiseAdd          0.999033           7.82954    int16     
/model.13/m.0/cv2/conv/Conv                         BPU  id(0)     HzSQuantizedConv           0.999336           10.7871    int16     
/model.13/m.0/cv2/act/Mul                           BPU  id(0)     HzLut2Layer                0.999095           9.01156    int16     
/model.13/m.0/Concat                                BPU  id(0)     Concat                     0.999043           10.2022    int16     
/model.13/m.0/cv3/conv/Conv                         BPU  id(0)     HzSQuantizedConv           0.999433           10.2022    int16     
/model.13/m.0/cv3/act/Mul                           BPU  id(0)     HzLut2Layer                0.999418           6.02426    int16     
/model.13/m.1/cv1/conv/Conv                         BPU  id(0)     HzSQuantizedConv           0.999859           5.22531    int16     
/model.13/m.1/cv1/act/Mul                           BPU  id(0)     HzLut2Layer                0.999799           4.75832    int16     
/model.13/m.1/m/m.0/cv1/conv/Conv                   BPU  id(0)     HzSQuantizedConv           0.999792           4.17385    int16     
/model.13/m.1/m/m.0/cv1/act/Mul                     BPU  id(0)     HzLut2Layer                0.999666           6.67485    int16     
/model.13/m.1/m/m.0/cv2/conv/Conv                   BPU  id(0)     HzSQuantizedConv           0.999784           6.64566    int16     
/model.13/m.1/m/m.0/cv2/act/Mul                     BPU  id(0)     HzLut2Layer                0.999768           4.85403    int16     
/model.13/m.1/m/m.0/Add                             BPU  id(0)     HzSElementwiseAdd          0.999772           4.17385    int16     
/model.13/m.1/m/m.1/cv1/conv/Conv                   BPU  id(0)     HzSQuantizedConv           0.999825           6.31014    int16     
/model.13/m.1/m/m.1/cv1/act/Mul                     BPU  id(0)     HzLut2Layer                0.999724           5.4688     int16     
/model.13/m.1/m/m.1/cv2/conv/Conv                   BPU  id(0)     HzSQuantizedConv           0.999859           5.17511    int16     
/model.13/m.1/m/m.1/cv2/act/Mul                     BPU  id(0)     HzLut2Layer                0.999882           6.6218     int16     
/model.13/m.1/m/m.1/Add                             BPU  id(0)     HzSElementwiseAdd          0.999870           6.31014    int16     
/model.13/m.1/cv2/conv/Conv                         BPU  id(0)     HzSQuantizedConv           0.999953           5.22531    int16     
/model.13/m.1/cv2/act/Mul                           BPU  id(0)     HzLut2Layer                0.999965           3.02528    int16     
/model.13/m.1/Concat                                BPU  id(0)     Concat                     0.999872           8.52635    int16     
/model.13/m.1/cv3/conv/Conv                         BPU  id(0)     HzSQuantizedConv           0.999882           8.52635    int16     
/model.13/m.1/cv3/act/Mul                           BPU  id(0)     HzLut2Layer                0.999852           4.58016    int16     
/model.13/Split_output_0_calibrated_Requantize      BPU  id(0)     HzRequantize               --                 --         int16     
/model.13/Split_output_1_calibrated_Requantize      BPU  id(0)     HzRequantize               --                 --         int16     
.../m.0/cv3/act/Mul_output_0_calibrated_Requantize  BPU  id(0)     HzRequantize               --                 --         int16     
/model.13/Concat                                    BPU  id(0)     Concat                     0.999591           10.7871    int16     
/model.13/cv2/conv/Conv                             BPU  id(0)     HzSQuantizedConv           0.999869           9.33382    int16     
/model.13/cv2/act/Mul                               BPU  id(0)     HzLut2Layer                0.999674           7.77641    int16     
...l.13/cv2/act/Mul_output_0_calibrated_Requantize  BPU  id(0)     HzRequantize               --                 --         int16     
/model.14/Resize                                    BPU  id(0)     HzQuantizedResizeUpsample  0.999677           7.46435    int8      
/model.14/Resize_output_0_Requantize                BPU  id(0)     HzRequantize               --                 --         int8      
/model.14/Resize_output_0_calibrated_Requantize     BPU  id(0)     HzRequantize               --                 --         int16     
...el.4/cv2/act/Mul_output_0_calibrated_Requantize  BPU  id(0)     HzRequantize               --                 --         int16     
/model.15/Concat                                    BPU  id(0)     Concat                     0.999602           7.46435    int16     
/model.16/cv1/conv/Conv                             BPU  id(0)     HzSQuantizedConv           0.999823           7.45463    int16     
/model.16/cv1/act/Mul                               BPU  id(0)     HzLut2Layer                0.999699           6.55645    int16     
/model.16/Split                                     BPU  id(0)     Split                      0.999672           6.33352    int16     
/model.16/m.0/cv1/conv/Conv                         BPU  id(0)     HzSQuantizedConv           0.999953           6.33352    int16     
/model.16/m.0/cv1/act/Mul                           BPU  id(0)     HzLut2Layer                0.999970           3.82579    int16     
/model.16/m.0/m/m.0/cv1/conv/Conv                   BPU  id(0)     HzSQuantizedConv           0.999958           3.01099    int16     
/model.16/m.0/m/m.0/cv1/act/Mul                     BPU  id(0)     HzLut2Layer                0.999877           5.37007    int16     
/model.16/m.0/m/m.0/cv2/conv/Conv                   BPU  id(0)     HzSQuantizedConv           0.999905           3.39742    int16     
/model.16/m.0/m/m.0/cv2/act/Mul                     BPU  id(0)     HzLut2Layer                0.999869           5.4705     int16     
/model.16/m.0/m/m.0/Add                             BPU  id(0)     HzSElementwiseAdd          0.999953           3.01099    int16     
/model.16/m.0/m/m.1/cv1/conv/Conv                   BPU  id(0)     HzSQuantizedConv           0.999978           4.5547     int16     
/model.16/m.0/m/m.1/cv1/act/Mul                     BPU  id(0)     HzLut2Layer                0.999912           4.96691    int16     
/model.16/m.0/m/m.1/cv2/conv/Conv                   BPU  id(0)     HzSQuantizedConv           0.999939           4.33829    int16     
/model.16/m.0/m/m.1/cv2/act/Mul                     BPU  id(0)     HzLut2Layer                0.999941           7.55061    int16     
/model.16/m.0/m/m.1/Add                             BPU  id(0)     HzSElementwiseAdd          0.999947           4.5547     int16     
/model.16/m.0/cv2/conv/Conv                         BPU  id(0)     HzSQuantizedConv           0.999901           6.33352    int16     
variable_1526_Requantize                            BPU  id(0)     HzRequantize               --                 --         int16     
/model.16/m.0/cv2/act/Mul                           BPU  id(0)     HzLut2Layer                0.999867           4.92318    int16     
/model.16/m.0/Concat                                BPU  id(0)     Concat                     0.999943           10.4548    int16     
/model.16/m.0/cv3/conv/Conv                         BPU  id(0)     HzSQuantizedConv           0.999949           10.4548    int16     
/model.16/m.0/cv3/act/Mul                           BPU  id(0)     HzLut2Layer                0.999886           7.24614    int16     
/model.16/m.1/cv1/conv/Conv                         BPU  id(0)     HzSQuantizedConv           0.999989           7.21068    int16     
/model.16/m.1/cv1/act/Mul                           BPU  id(0)     HzLut2Layer                0.999982           3.51512    int16     
/model.16/m.1/m/m.0/cv1/conv/Conv                   BPU  id(0)     HzSQuantizedConv           0.999980           2.59117    int16     
/model.16/m.1/m/m.0/cv1/act/Mul                     BPU  id(0)     HzLut2Layer                0.999955           5.74755    int16     
/model.16/m.1/m/m.0/cv2/conv/Conv                   BPU  id(0)     HzSQuantizedConv           0.999972           5.72927    int16     
/model.16/m.1/m/m.0/cv2/act/Mul                     BPU  id(0)     HzLut2Layer                0.999961           6.40175    int16     
/model.16/m.1/m/m.0/Add                             BPU  id(0)     HzSElementwiseAdd          0.999967           2.59117    int16     
/model.16/m.1/m/m.1/cv1/conv/Conv                   BPU  id(0)     HzSQuantizedConv           0.999976           6.50637    int16     
/model.16/m.1/m/m.1/cv1/act/Mul                     BPU  id(0)     HzLut2Layer                0.999954           6.03436    int16     
/model.16/m.1/m/m.1/cv2/conv/Conv                   BPU  id(0)     HzSQuantizedConv           0.999948           5.99398    int16     
/model.16/m.1/m/m.1/cv2/act/Mul                     BPU  id(0)     HzLut2Layer                0.999941           10.4137    int16     
/model.16/m.1/m/m.1/Add                             BPU  id(0)     HzSElementwiseAdd          0.999945           6.50637    int16     
/model.16/m.1/cv2/conv/Conv                         BPU  id(0)     HzSQuantizedConv           0.999974           7.21068    int16     
/model.16/m.1/cv2/act/Mul                           BPU  id(0)     HzLut2Layer                0.999975           3.60241    int16     
/model.16/m.1/Concat                                BPU  id(0)     Concat                     0.999947           11.6505    int16     
/model.16/m.1/cv3/conv/Conv                         BPU  id(0)     HzSQuantizedConv           0.999942           11.6505    int16     
variable_1529_Requantize                            BPU  id(0)     HzRequantize               --                 --         int16     
/model.16/m.1/cv3/act/Mul                           BPU  id(0)     HzLut2Layer                0.999923           7.60436    int16     
/model.16/Split_output_0_calibrated_Requantize      BPU  id(0)     HzRequantize               --                 --         int16     
/model.16/Split_output_1_calibrated_Requantize      BPU  id(0)     HzRequantize               --                 --         int16     
.../m.0/cv3/act/Mul_output_0_calibrated_Requantize  BPU  id(0)     HzRequantize               --                 --         int16     
/model.16/Concat                                    BPU  id(0)     Concat                     0.999817           6.33352    int16     
/model.16/cv2/conv/Conv                             BPU  id(0)     HzSQuantizedConv           0.999933           7.02302    int16     
/model.16/cv2/act/Mul                               BPU  id(0)     HzLut2Layer                0.999856           6.67985    int16     
/model.17/conv/Conv                                 BPU  id(0)     HzSQuantizedConv           0.999867           6.31286    int16     
/model.17/act/Mul                                   BPU  id(0)     HzLut2Layer                0.999877           7.25431    int16     
/model.18/Concat                                    BPU  id(0)     Concat                     0.999794           7.46435    int16     
/model.19/cv1/conv/Conv                             BPU  id(0)     HzSQuantizedConv           0.999885           7.46435    int16     
/model.19/cv1/act/Mul                               BPU  id(0)     HzLut2Layer                0.999860           8.15456    int16     
/model.19/Split                                     BPU  id(0)     Split                      0.999877           8.15222    int16     
/model.19/m.0/cv1/conv/Conv                         BPU  id(0)     HzSQuantizedConv           0.999918           8.15222    int16     
/model.19/m.0/cv1/act/Mul                           BPU  id(0)     HzLut2Layer                0.999842           6.67443    int16     
/model.19/m.0/m/m.0/cv1/conv/Conv                   BPU  id(0)     HzSQuantizedConv           0.999848           6.66602    int16     
/model.19/m.0/m/m.0/cv1/act/Mul                     BPU  id(0)     HzLut2Layer                0.999684           10.599     int16     
/model.19/m.0/m/m.0/cv2/conv/Conv                   BPU  id(0)     HzSQuantizedConv           0.999842           10.5979    int16     
/model.19/m.0/m/m.0/cv2/act/Mul                     BPU  id(0)     HzLut2Layer                0.999808           9.14837    int16     
/model.19/m.0/m/m.0/Add                             BPU  id(0)     HzSElementwiseAdd          0.999847           6.66602    int16     
/model.19/m.0/m/m.1/cv1/conv/Conv                   BPU  id(0)     HzSQuantizedConv           0.999857           10.0042    int16     
/model.19/m.0/m/m.1/cv1/act/Mul                     BPU  id(0)     HzLut2Layer                0.999747           11.1573    int16     
/model.19/m.0/m/m.1/cv2/conv/Conv                   BPU  id(0)     HzSQuantizedConv           0.999795           11.1309    int16     
/model.19/m.0/m/m.1/cv2/act/Mul                     BPU  id(0)     HzLut2Layer                0.999733           12.5554    int16     
/model.19/m.0/m/m.1/Add                             BPU  id(0)     HzSElementwiseAdd          0.999784           10.0042    int16     
/model.19/m.0/cv2/conv/Conv                         BPU  id(0)     HzSQuantizedConv           0.999888           8.15222    int16     
/model.19/m.0/cv2/act/Mul                           BPU  id(0)     HzLut2Layer                0.999900           7.05805    int16     
/model.19/m.0/Concat                                BPU  id(0)     Concat                     0.999817           13.875     int16     
/model.19/m.0/cv3/conv/Conv                         BPU  id(0)     HzSQuantizedConv           0.999890           13.875     int16     
/model.19/m.0/cv3/act/Mul                           BPU  id(0)     HzLut2Layer                0.999823           8.52241    int16     
/model.19/m.1/cv1/conv/Conv                         BPU  id(0)     HzSQuantizedConv           0.999867           7.9172     int16     
/model.19/m.1/cv1/act/Mul                           BPU  id(0)     HzLut2Layer                0.999769           8.68838    int16     
/model.19/m.1/m/m.0/cv1/conv/Conv                   BPU  id(0)     HzSQuantizedConv           0.999819           8.56516    int16     
/model.19/m.1/m/m.0/cv1/act/Mul                     BPU  id(0)     HzLut2Layer                0.999661           14.8224    int16     
/model.19/m.1/m/m.0/cv2/conv/Conv                   BPU  id(0)     HzSQuantizedConv           0.999743           12.7852    int16     
/model.19/m.1/m/m.0/cv2/act/Mul                     BPU  id(0)     HzLut2Layer                0.999662           15.0353    int16     
/model.19/m.1/m/m.0/Add                             BPU  id(0)     HzSElementwiseAdd          0.999712           8.56516    int16     
/model.19/m.1/m/m.1/cv1/conv/Conv                   BPU  id(0)     HzSQuantizedConv           0.999689           14.8895    int16     
/model.19/m.1/m/m.1/cv1/act/Mul                     BPU  id(0)     HzLut2Layer                0.999354           13.654     int16     
/model.19/m.1/m/m.1/cv2/conv/Conv                   BPU  id(0)     HzSQuantizedConv           0.999548           13.5982    int16     
/model.19/m.1/m/m.1/cv2/act/Mul                     BPU  id(0)     HzLut2Layer                0.999482           18.0228    int16     
/model.19/m.1/m/m.1/Add                             BPU  id(0)     HzSElementwiseAdd          0.999593           14.8895    int16     
/model.19/m.1/cv2/conv/Conv                         BPU  id(0)     HzSQuantizedConv           0.999854           7.9172     int16     
/model.19/m.1/cv2/act/Mul                           BPU  id(0)     HzLut2Layer                0.999765           8.68635    int16     
/model.19/m.1/Concat                                BPU  id(0)     Concat                     0.999610           19.2204    int16     
/model.19/m.1/cv3/conv/Conv                         BPU  id(0)     HzSQuantizedConv           0.999632           19.2204    int16     
/model.19/m.1/cv3/act/Mul                           BPU  id(0)     HzLut2Layer                0.996421           13.2477    int16     
/model.19/Split_output_0_calibrated_Requantize      BPU  id(0)     HzRequantize               --                 --         int16     
/model.19/Split_output_1_calibrated_Requantize      BPU  id(0)     HzRequantize               --                 --         int16     
.../m.0/cv3/act/Mul_output_0_calibrated_Requantize  BPU  id(0)     HzRequantize               --                 --         int16     
/model.19/Concat                                    BPU  id(0)     Concat                     0.999342           8.15222    int16     
/model.19/cv2/conv/Conv                             BPU  id(0)     HzSQuantizedConv           0.999619           9.36354    int16     
/model.19/cv2/act/Mul                               BPU  id(0)     HzLut2Layer                0.999352           9.52754    int16     
/model.20/conv/Conv                                 BPU  id(0)     HzSQuantizedConv           0.999806           9.46953    int16     
/model.20/act/Mul                                   BPU  id(0)     HzLut2Layer                0.999785           5.63104    int16     
/model.21/Concat                                    BPU  id(0)     Concat                     0.999752           8.52714    int16     
/model.22/cv1/conv/Conv                             BPU  id(0)     HzSQuantizedConv           0.999866           8.52714    int16     
/model.22/cv1/act/Mul                               BPU  id(0)     HzLut2Layer                0.999818           7.04198    int16     
/model.22/Split                                     BPU  id(0)     Split                      0.999809           6.73724    int16     
/model.22/m.0/cv1/conv/Conv                         BPU  id(0)     HzSQuantizedConv           0.999840           6.73724    int16     
/model.22/m.0/cv1/act/Mul                           BPU  id(0)     HzLut2Layer                0.999785           4.42096    int16     
/model.22/m.0/m/m.0/cv1/conv/Conv                   BPU  id(0)     HzSQuantizedConv           0.999763           4.11213    int16     
/model.22/m.0/m/m.0/cv1/act/Mul                     BPU  id(0)     HzLut2Layer                0.999763           4.53154    int16     
/model.22/m.0/m/m.0/cv2/conv/Conv                   BPU  id(0)     HzSQuantizedConv           0.999783           3.58859    int16     
/model.22/m.0/m/m.0/cv2/act/Mul                     BPU  id(0)     HzLut2Layer                0.999764           4.7389     int16     
/model.22/m.0/m/m.0/Add                             BPU  id(0)     HzSElementwiseAdd          0.999795           4.11213    int16     
/model.22/m.0/m/m.1/cv1/conv/Conv                   BPU  id(0)     HzSQuantizedConv           0.999886           6.14411    int16     
/model.22/m.0/m/m.1/cv1/act/Mul                     BPU  id(0)     HzLut2Layer                0.999831           5.09059    int16     
/model.22/m.0/m/m.1/cv2/conv/Conv                   BPU  id(0)     HzSQuantizedConv           0.999819           4.19109    int16     
/model.22/m.0/m/m.1/cv2/act/Mul                     BPU  id(0)     HzLut2Layer                0.999764           5.10559    int16     
/model.22/m.0/m/m.1/Add                             BPU  id(0)     HzSElementwiseAdd          0.999822           6.14411    int16     
/model.22/m.0/cv2/conv/Conv                         BPU  id(0)     HzSQuantizedConv           0.999863           6.73724    int16     
/model.22/m.0/cv2/act/Mul                           BPU  id(0)     HzLut2Layer                0.999808           5.13094    int16     
/model.22/m.0/Concat                                BPU  id(0)     Concat                     0.999820           8.18926    int16     
/model.22/m.0/cv3/conv/Conv                         BPU  id(0)     HzSQuantizedConv           0.999866           8.18926    int16     
/model.22/m.0/cv3/act/Mul                           BPU  id(0)     HzLut2Layer                0.999836           4.66851    int16     
/model.22/m.1/cv1/conv/Conv                         BPU  id(0)     HzSQuantizedConv           0.999938           4.41038    int16     
/model.22/m.1/cv1/act/Mul                           BPU  id(0)     HzLut2Layer                0.999935           3.10132    int16     
/model.22/m.1/m/m.0/cv1/conv/Conv                   BPU  id(0)     HzSQuantizedConv           0.999918           2.95076    int16     
/model.22/m.1/m/m.0/cv1/act/Mul                     BPU  id(0)     HzLut2Layer                0.999919           3.08274    int16     
/model.22/m.1/m/m.0/cv2/conv/Conv                   BPU  id(0)     HzSQuantizedConv           0.999967           2.21944    int16     
/model.22/m.1/m/m.0/cv2/act/Mul                     BPU  id(0)     HzLut2Layer                0.999973           2.35344    int16     
/model.22/m.1/m/m.0/Add                             BPU  id(0)     HzSElementwiseAdd          0.999965           2.95076    int16     
/model.22/m.1/m/m.1/cv1/conv/Conv                   BPU  id(0)     HzSQuantizedConv           0.999983           3.91514    int16     
/model.22/m.1/m/m.1/cv1/act/Mul                     BPU  id(0)     HzLut2Layer                0.999980           2.80304    int16     
/model.22/m.1/m/m.1/cv2/conv/Conv                   BPU  id(0)     HzSQuantizedConv           0.999996           1.99667    int16     
/model.22/m.1/m/m.1/cv2/act/Mul                     BPU  id(0)     HzLut2Layer                0.999997           2.12833    int16     
/model.22/m.1/m/m.1/Add                             BPU  id(0)     HzSElementwiseAdd          0.999975           3.91514    int16     
/model.22/m.1/cv2/conv/Conv                         BPU  id(0)     HzSQuantizedConv           0.999932           4.41038    int16     
/model.22/m.1/cv2/act/Mul                           BPU  id(0)     HzLut2Layer                0.999944           3.37642    int16     
/model.22/m.1/Concat                                BPU  id(0)     Concat                     0.999969           4.96046    int16     
/model.22/m.1/cv3/conv/Conv                         BPU  id(0)     HzSQuantizedConv           0.999975           4.96046    int16     
/model.22/m.1/cv3/act/Mul                           BPU  id(0)     HzLut2Layer                0.999968           2.40712    int16     
/model.22/Split_output_0_calibrated_Requantize      BPU  id(0)     HzRequantize               --                 --         int16     
/model.22/Split_output_1_calibrated_Requantize      BPU  id(0)     HzRequantize               --                 --         int16     
.../m.0/cv3/act/Mul_output_0_calibrated_Requantize  BPU  id(0)     HzRequantize               --                 --         int16     
/model.22/Concat                                    BPU  id(0)     Concat                     0.999794           6.73724    int16     
/model.22/cv2/conv/Conv                             BPU  id(0)     HzSQuantizedConv           0.999921           5.97873    int16     
/model.22/cv2/act/Mul                               BPU  id(0)     HzLut2Layer                0.999893           4.76637    int16     
/model.23/cv2.0/cv2.0.0/conv/Conv                   BPU  id(0)     HzSQuantizedConv           0.999906           6.31286    int16     
/model.23/cv2.0/cv2.0.0/act/Mul                     BPU  id(0)     HzLut2Layer                0.999892           6.08668    int16     
/model.23/cv2.0/cv2.0.1/conv/Conv                   BPU  id(0)     HzSQuantizedConv           0.999875           6.07288    int16     
/model.23/cv2.0/cv2.0.1/act/Mul                     BPU  id(0)     HzLut2Layer                0.999896           6.47828    int16     
/model.23/cv2.0/cv2.0.2/Conv                        BPU  id(0)     HzSQuantizedConv           0.999887           6.16586    int16     
/model.23/cv3.0/cv3.0.0/cv3.0.0.0/conv/Conv         BPU  id(0)     HzSQuantizedConv           0.999864           6.31286    int16     
variable_1525_Requantize                            BPU  id(0)     HzRequantize               --                 --         int16     
/model.23/cv3.0/cv3.0.0/cv3.0.0.0/act/Mul           BPU  id(0)     HzLut2Layer                0.999785           11.4127    int16     
/model.23/cv3.0/cv3.0.0/cv3.0.0.1/conv/Conv         BPU  id(0)     HzSQuantizedConv           0.999753           10.2698    int16     
variable_1524_Requantize                            BPU  id(0)     HzRequantize               --                 --         int16     
/model.23/cv3.0/cv3.0.0/cv3.0.0.1/act/Mul           BPU  id(0)     HzLut2Layer                0.999649           10.5992    int16     
/model.23/cv3.0/cv3.0.1/cv3.0.1.0/conv/Conv         BPU  id(0)     HzSQuantizedConv           0.999660           8.09776    int16     
variable_1523_Requantize                            BPU  id(0)     HzRequantize               --                 --         int16     
/model.23/cv3.0/cv3.0.1/cv3.0.1.0/act/Mul           BPU  id(0)     HzLut2Layer                0.999572           13.4849    int16     
/model.23/cv3.0/cv3.0.1/cv3.0.1.1/conv/Conv         BPU  id(0)     HzSQuantizedConv           0.999636           12.2454    int16     
variable_1521_Requantize                            BPU  id(0)     HzRequantize               --                 --         int16     
/model.23/cv3.0/cv3.0.1/cv3.0.1.1/act/Mul           BPU  id(0)     HzLut2Layer                0.999675           12.4852    int16     
/model.23/cv3.0/cv3.0.2/Conv                        BPU  id(0)     HzSQuantizedConv           0.999888           10.7147    int16     
/model.23/cv2.1/cv2.1.0/conv/Conv                   BPU  id(0)     HzSQuantizedConv           0.999781           9.46953    int16     
/model.23/cv2.1/cv2.1.0/act/Mul                     BPU  id(0)     HzLut2Layer                0.999719           16.2693    int16     
/model.23/cv2.1/cv2.1.1/conv/Conv                   BPU  id(0)     HzSQuantizedConv           0.999741           16.2693    int16     
/model.23/cv2.1/cv2.1.1/act/Mul                     BPU  id(0)     HzLut2Layer                0.999750           21.0226    int16     
/model.23/cv2.1/cv2.1.2/Conv                        BPU  id(0)     HzSQuantizedConv           0.999638           18.917     int16     
/model.23/cv3.1/cv3.1.0/cv3.1.0.0/conv/Conv         BPU  id(0)     HzSQuantizedConv           0.999426           9.46953    int16     
variable_1518_Requantize                            BPU  id(0)     HzRequantize               --                 --         int16     
/model.23/cv3.1/cv3.1.0/cv3.1.0.0/act/Mul           BPU  id(0)     HzLut2Layer                0.998906           14.4263    int16     
/model.23/cv3.1/cv3.1.0/cv3.1.0.1/conv/Conv         BPU  id(0)     HzSQuantizedConv           0.999214           14.0629    int16     
/model.23/cv3.1/cv3.1.0/cv3.1.0.1/act/Mul           BPU  id(0)     HzLut2Layer                0.998382           12.3661    int16     
/model.23/cv3.1/cv3.1.1/cv3.1.1.0/conv/Conv         BPU  id(0)     HzSQuantizedConv           0.998658           10.4945    int16     
variable_1517_Requantize                            BPU  id(0)     HzRequantize               --                 --         int16     
/model.23/cv3.1/cv3.1.1/cv3.1.1.0/act/Mul           BPU  id(0)     HzLut2Layer                0.999097           16.7999    int16     
/model.23/cv3.1/cv3.1.1/cv3.1.1.1/conv/Conv         BPU  id(0)     HzSQuantizedConv           0.999127           16.7974    int16     
variable_1516_Requantize                            BPU  id(0)     HzRequantize               --                 --         int16     
/model.23/cv3.1/cv3.1.1/cv3.1.1.1/act/Mul           BPU  id(0)     HzLut2Layer                0.998978           12.1447    int16     
/model.23/cv3.1/cv3.1.2/Conv                        BPU  id(0)     HzSQuantizedConv           0.999655           10.7644    int16     
/model.23/cv2.2/cv2.2.0/conv/Conv                   BPU  id(0)     HzSQuantizedConv           0.999981           4.1543     int16     
/model.23/cv2.2/cv2.2.0/act/Mul                     BPU  id(0)     HzLut2Layer                0.999986           3.94107    int16     
/model.23/cv2.2/cv2.2.1/conv/Conv                   BPU  id(0)     HzSQuantizedConv           0.999991           3.86597    int16     
/model.23/cv2.2/cv2.2.1/act/Mul                     BPU  id(0)     HzLut2Layer                0.999993           9.29677    int16     
/model.23/cv2.2/cv2.2.2/Conv                        BPU  id(0)     HzSQuantizedConv           0.999994           9.29592    int16     
/model.23/cv3.2/cv3.2.0/cv3.2.0.0/conv/Conv         BPU  id(0)     HzSQuantizedConv           0.999894           4.1543     int16     
variable_1519_Requantize                            BPU  id(0)     HzRequantize               --                 --         int16     
/model.23/cv3.2/cv3.2.0/cv3.2.0.0/act/Mul           BPU  id(0)     HzLut2Layer                0.999871           5.73797    int16     
/model.23/cv3.2/cv3.2.0/cv3.2.0.1/conv/Conv         BPU  id(0)     HzSQuantizedConv           0.999976           5.52132    int16     
/model.23/cv3.2/cv3.2.0/cv3.2.0.1/act/Mul           BPU  id(0)     HzLut2Layer                0.999970           4.15109    int16     
/model.23/cv3.2/cv3.2.1/cv3.2.1.0/conv/Conv         BPU  id(0)     HzSQuantizedConv           0.999956           3.51646    int16     
variable_1520_Requantize                            BPU  id(0)     HzRequantize               --                 --         int16     
/model.23/cv3.2/cv3.2.1/cv3.2.1.0/act/Mul           BPU  id(0)     HzLut2Layer                0.999942           4.95618    int16     
/model.23/cv3.2/cv3.2.1/cv3.2.1.1/conv/Conv         BPU  id(0)     HzSQuantizedConv           0.999990           4.87833    int16     
/model.23/cv3.2/cv3.2.1/cv3.2.1.1/act/Mul           BPU  id(0)     HzLut2Layer                0.999995           2.40979    int16     
/model.23/cv3.2/cv3.2.2/Conv                        BPU  id(0)     HzSQuantizedConv           1.000000           2.21115    int16     
/model.23/cv4.0/cv4.0.0/conv/Conv                   BPU  id(0)     HzSQuantizedConv           0.999747           6.31286    int16     
/model.23/cv4.0/cv4.0.0/act/Mul                     BPU  id(0)     HzLut2Layer                0.999775           7.39706    int16     
/model.23/cv4.0/cv4.0.1/conv/Conv                   BPU  id(0)     HzSQuantizedConv           0.999792           6.41294    int16     
/model.23/cv4.0/cv4.0.1/act/Mul                     BPU  id(0)     HzLut2Layer                0.999818           6.24632    int16     
/model.23/cv4.0/cv4.0.2/Conv                        BPU  id(0)     HzSQuantizedConv           0.999709           5.32095    int16     
/model.23/cv4.1/cv4.1.0/conv/Conv                   BPU  id(0)     HzSQuantizedConv           0.999753           9.46953    int16     
/model.23/cv4.1/cv4.1.0/act/Mul                     BPU  id(0)     HzLut2Layer                0.999716           12.2983    int16     
/model.23/cv4.1/cv4.1.1/conv/Conv                   BPU  id(0)     HzSQuantizedConv           0.999542           12.2983    int16     
/model.23/cv4.1/cv4.1.1/act/Mul                     BPU  id(0)     HzLut2Layer                0.999684           12.4688    int16     
/model.23/cv4.1/cv4.1.2/Conv                        BPU  id(0)     HzSQuantizedConv           0.999681           4.65696    int16     
/model.23/cv4.2/cv4.2.0/conv/Conv                   BPU  id(0)     HzSQuantizedConv           0.999985           4.1543     int16     
/model.23/cv4.2/cv4.2.0/act/Mul                     BPU  id(0)     HzLut2Layer                0.999983           3.70609    int16     
/model.23/cv4.2/cv4.2.1/conv/Conv                   BPU  id(0)     HzSQuantizedConv           0.999988           3.6172     int16     
/model.23/cv4.2/cv4.2.1/act/Mul                     BPU  id(0)     HzLut2Layer                0.999990           5.0963     int16     
/model.23/cv4.2/cv4.2.2/Conv                        BPU  id(0)     HzSQuantizedConv           0.999993           5.0653     int16
2026-09-10 15:42:20,335 file: print_info_dict.py func: print_info_dict line No: 72 The quantized model output:
=============================================================================
Output      Cosine Similarity  L1 Distance  L2 Distance  Chebyshev Distance  
-----------------------------------------------------------------------------
output0     0.999887           0.050813     0.000282     0.643241            
993         0.999888           0.377364     0.016036     2.547115            
1001        0.999638           0.109006     0.002876     36.145599           
1015        0.999655           0.367411     0.051000     6.770432            
1023        0.999994           0.028827     0.000536     0.126464            
1037        1.000000           0.015130     0.002092     0.031256            
1045        0.999709           0.062489     0.001190     1.533571            
1053        0.999681           0.047652     0.001811     0.615585            
1061        0.999993           0.005040     0.000304     0.036991
2026-09-10 15:42:20,355 file: model_builder.py func: model_builder line No: 38 End to Horizon NN Model Convert.
2026-09-10 15:42:20,512 file: hb_mapper_makertbin.py func: hb_mapper_makertbin line No: 601 start convert to *.bin file....
2026-09-10 15:42:20,529 file: onnx2horizonrt.py func: onnx2horizonrt line No: 4326 ONNX model output num : 9
2026-09-10 15:42:20,538 file: layout_util.py func: layout_util line No: 15 set_featuremap_layout start
2026-09-10 15:42:20,539 file: onnx2horizonrt.py func: onnx2horizonrt line No: 4060 model_deps_info: {'hb_mapper_version': '1.24.3', 'hbdk_version': '3.49.15', 'hbdk_runtime_version': ' 3.15.55.0', 'horizon_nn_version': '1.1.0', 'onnx_model': '/open_explorer/samples/ai_toolchain/horizon_model_convert_sample/04_detection/16_yolov11_pose/mapper/yolov11x_court_keypoint_256x256.onnx', 'march': 'bayes-e', 'layer_out_dump': False, 'log_level': 'DEBUG', 'working_dir': '/open_explorer/samples/ai_toolchain/horizon_model_convert_sample/04_detection/16_yolov11_pose/mapper/yolov11x_court_keypoint_model_256x256_output', 'model_prefix': 'yolov11x_court_keypoint_bayese_256x256_nv12', 'input_names': ['images'], 'input_type_rt': ['nv12'], 'input_space_and_range': ['regular'], 'input_type_train': ['rgb'], 'input_layout_rt': ['NCHW'], 'input_layout_train': ['NCHW'], 'norm_type': ['data_scale'], 'scale_value': ['0.003921568627451,'], 'mean_value': [''], 'input_shape': ['1x3x256x256'], 'input_batch': [], 'cal_dir': ['/open_explorer/samples/ai_toolchain/horizon_model_convert_sample/04_detection/16_yolov11_pose/mapper/court_keypoint_calibration_data_rgb_f32_256x256'], 'cal_data_type': ['float32'], 'preprocess_on': False, 'calibration_type': 'max', 'per_channel': 'True', 'max_percentile': 0.99995, 'optimization': ['set_all_nodes_int16'], 'hbdk_params': {'hbdk_pass_through_params': '--O3 --core-num 1 --fast --max-time-per-fc 1000 ', 'input-source': {'images': 'pyramid', '_default_value': 'ddr'}}, 'debug': False, 'compile_mode': 'latency'}
2026-09-10 15:42:20,540 file: onnx2horizonrt.py func: onnx2horizonrt line No: 4183 ############# model deps info #############
2026-09-10 15:42:20,541 file: onnx2horizonrt.py func: onnx2horizonrt line No: 4184 hb_mapper version   : 1.24.3
2026-09-10 15:42:20,542 file: onnx2horizonrt.py func: onnx2horizonrt line No: 4187 hbdk version        : 3.49.15
2026-09-10 15:42:20,543 file: onnx2horizonrt.py func: onnx2horizonrt line No: 4189 hbdk runtime version: 3.15.55.0
2026-09-10 15:42:20,544 file: onnx2horizonrt.py func: onnx2horizonrt line No: 4192 horizon_nn version  : 1.1.0
2026-09-10 15:42:20,545 file: onnx2horizonrt.py func: onnx2horizonrt line No: 4196 ############# model_parameters info #############
2026-09-10 15:42:20,548 file: onnx2horizonrt.py func: onnx2horizonrt line No: 4202 onnx_model          : /open_explorer/samples/ai_toolchain/horizon_model_convert_sample/04_detection/16_yolov11_pose/mapper/yolov11x_court_keypoint_256x256.onnx
2026-09-10 15:42:20,549 file: onnx2horizonrt.py func: onnx2horizonrt line No: 4203 BPU march           : bayes-e
2026-09-10 15:42:20,550 file: onnx2horizonrt.py func: onnx2horizonrt line No: 4204 layer_out_dump      : False
2026-09-10 15:42:20,551 file: onnx2horizonrt.py func: onnx2horizonrt line No: 4205 log_level           : DEBUG
2026-09-10 15:42:20,552 file: onnx2horizonrt.py func: onnx2horizonrt line No: 4206 working dir         : /open_explorer/samples/ai_toolchain/horizon_model_convert_sample/04_detection/16_yolov11_pose/mapper/yolov11x_court_keypoint_model_256x256_output
2026-09-10 15:42:20,552 file: onnx2horizonrt.py func: onnx2horizonrt line No: 4207 output_model_file_prefix: yolov11x_court_keypoint_bayese_256x256_nv12
2026-09-10 15:42:20,553 file: onnx2horizonrt.py func: onnx2horizonrt line No: 4228 ############# input_parameters info #############
2026-09-10 15:42:20,554 file: onnx2horizonrt.py func: onnx2horizonrt line No: 4246 ------------------------------------------
2026-09-10 15:42:20,555 file: onnx2horizonrt.py func: onnx2horizonrt line No: 4248 ---------input info : images ---------
2026-09-10 15:42:20,555 file: onnx2horizonrt.py func: onnx2horizonrt line No: 4249 input_name          : images
2026-09-10 15:42:20,556 file: onnx2horizonrt.py func: onnx2horizonrt line No: 4250 input_type_rt       : nv12
2026-09-10 15:42:20,557 file: onnx2horizonrt.py func: onnx2horizonrt line No: 4252 input_space&range   : regular
2026-09-10 15:42:20,557 file: onnx2horizonrt.py func: onnx2horizonrt line No: 4254 input_layout_rt     : NCHW
2026-09-10 15:42:20,558 file: onnx2horizonrt.py func: onnx2horizonrt line No: 4255 input_type_train    : rgb
2026-09-10 15:42:20,559 file: onnx2horizonrt.py func: onnx2horizonrt line No: 4256 input_layout_train  : NCHW
2026-09-10 15:42:20,560 file: onnx2horizonrt.py func: onnx2horizonrt line No: 4257 norm_type           : data_scale
2026-09-10 15:42:20,561 file: onnx2horizonrt.py func: onnx2horizonrt line No: 4258 input_shape         : 1x3x256x256
2026-09-10 15:42:20,561 file: onnx2horizonrt.py func: onnx2horizonrt line No: 4266 scale_value         : 0.003921568627451,
2026-09-10 15:42:20,562 file: onnx2horizonrt.py func: onnx2horizonrt line No: 4268 cal_data_dir        : /open_explorer/samples/ai_toolchain/horizon_model_convert_sample/04_detection/16_yolov11_pose/mapper/court_keypoint_calibration_data_rgb_f32_256x256
2026-09-10 15:42:20,563 file: onnx2horizonrt.py func: onnx2horizonrt line No: 4270 cal_data_type       : float32
2026-09-10 15:42:20,564 file: onnx2horizonrt.py func: onnx2horizonrt line No: 4271 ---------input info : images end -------
2026-09-10 15:42:20,565 file: onnx2horizonrt.py func: onnx2horizonrt line No: 4272 ------------------------------------------
2026-09-10 15:42:20,566 file: onnx2horizonrt.py func: onnx2horizonrt line No: 4274 ############# calibration_parameters info #############
2026-09-10 15:42:20,567 file: onnx2horizonrt.py func: onnx2horizonrt line No: 4275 preprocess_on       : False
2026-09-10 15:42:20,567 file: onnx2horizonrt.py func: onnx2horizonrt line No: 4276 calibration_type:   : max
2026-09-10 15:42:20,568 file: onnx2horizonrt.py func: onnx2horizonrt line No: 4278 optimization        : set_all_nodes_int16;
2026-09-10 15:42:20,568 file: onnx2horizonrt.py func: onnx2horizonrt line No: 4281 max_percentile      : 0.99995
2026-09-10 15:42:20,569 file: onnx2horizonrt.py func: onnx2horizonrt line No: 4284 per_channel         : True
2026-09-10 15:42:20,570 file: onnx2horizonrt.py func: onnx2horizonrt line No: 4303 ############# compiler_parameters info #############
2026-09-10 15:42:20,570 file: onnx2horizonrt.py func: onnx2horizonrt line No: 4305 debug               : False
2026-09-10 15:42:20,571 file: onnx2horizonrt.py func: onnx2horizonrt line No: 4307 compile_mode        : latency
2026-09-10 15:42:20,571 file: onnx2horizonrt.py func: onnx2horizonrt line No: 4310 hbdk_pass_through_params: --O3 --core-num 1 --fast --max-time-per-fc 1000
2026-09-10 15:42:20,572 file: onnx2horizonrt.py func: onnx2horizonrt line No: 4310 input-source        : {'images': 'pyramid', '_default_value': 'ddr'}
2026-09-10 15:42:20,721 file: hb_mapper_makertbin.py func: hb_mapper_makertbin line No: 783 Convert to runtime bin file successfully!
2026-09-10 15:42:20,722 file: hb_mapper_makertbin.py func: hb_mapper_makertbin line No: 784 End Model Convert


仅凭 PT 和板端 AP 的差异,还不能确定是量化掉点。你贴出的后处理里,output_order 默认已有内容,而 LoadConfig() 只在它为空时才读取 JSON,因此修改 JSON 中的输出顺序不会生效;实际是否因此解析错误,还需核对 BIN 的输出信息。另外,cls/kpt 按 float、box 按 int16 读取,也需要与实际输出类型、布局及量化参数一致,不能仅凭 set_all_nodes_int16 推定。

建议先按 X5 官方 YOLO 示例及其导出与转换流程跑通原版 Pose 基线,再用同一张图逐段核对浮点 ONNX、量化模型和板端结果,保持预处理、坐标还原及评测口径一致。你这里的三关键点球场模型与定制 parser 属于二次开发,具体适配需自行验证;若官方原版示例也异常,可补充所用仓库版本、命令和最小复现结果继续核查。目前尚未复现或确认该模型的掉点根因。

完整链接:
https://github.com/D-Robotics/rdk_model_zoo/blob/rdk_x5/samples/vision/ultralytics_yolo/README_cn.md
https://github.com/D-Robotics/rdk_model_zoo/blob/rdk_x5/samples/vision/ultralytics_yolo/conversion/README_cn.md

模型有关键点、目标框输出,目标框位置正常,平均iou=0.684,但是关键点的位置与gt值相差很大,导致ap、ar都为0

转换日志看下来,量化这一侧基本可以排除:200 张校准集正常加载、每层余弦相似度都在 0.999 以上(帖子被截断了,顺手确认下末尾几个输出节点的相似度是否也正常)、编译成功。AP=0 的嫌疑收敛到一处:你的 ONNX 输出口和 parser 的假设对不上

parser 是官方 16_yolov11_pose 示例的解析逻辑,只改了 config(class_num=1、kpt_num=3、output_order)。它隐含要求 ONNX 是用该示例配套的导出脚本切出来的 9 个输出:

  • 顺序为 [box_s8, cls_s8, box_s16, cls_s16, box_s32, cls_s32, kpt_s8, kpt_s16, kpt_s32](你 output_order {1,0,6,3,2,7,5,4,8} 的重排才成立)
  • box 是 reg_max=16 的原始 DFL logits(64 通道,模型内不做 softmax/解码)
  • cls 是原始 logits(不带 sigmoid,所以代码里才有 -log(1/t-1) 这步)
  • kpt 是原始 offset(板端才乘 2×stride)

如果你是直接用 ultralytics 标准导出的 ONNX(输出已解码/已 sigmoid,或者输出个数根本不是 9 个),这套解析出来必然是乱的,AP 直接归零。

两步验证,先做第 1 步:

  1. 核对 .bin 实际输出:板端跑一次,打印输出 tensor 的个数、顺序、shape、数据类型,和上面 4 条逐一对照。注意 parser 里 cls/kpt 按 float* 读、box 按 int16*+scale 读,类型不符读出来就是垃圾数据。
hrt_model_exec infer -m yolov11x_court_keypoint_bayese_256x256_nv12.bin -i one_frame_nv12_256x256.bin

工具说明:Rspress

  1. 若输出个数/顺序/类型都对,再用同一帧图对比板端 dump 输出和 onnxruntime 浮点输出的数值(上次说的方法),一致就只剩评测链路的 letterbox/坐标反映射问题了。

自训模型导出切输出这块,建议直接对照 OE 包 04_detection/16_yolov11_pose 里的导出脚本重新导一次 ONNX,比改 parser 省事。这类自研模型的深度适配问题,也建议报名 DGP 开发者计划获取一对一支持:https://developer.d-robotics.cc/dgp

AP 从 100% 直接掉到 0% 一般不是量化本身的问题(你已经用了 int16 + per_channel,正常量化损失也就几个点),更像是板端后处理解析和 hbm 实际输出对不上。建议先把「量化」和「板端链路」两段切开定位:

1. 先用 hb_verifier 验证量化模型本身

working_dir 下有中间产物,拿浮点 onnx 和定点模型比余弦相似度:

hb_verifier -m yolov11x_court_keypoint_256x256.onnx \
  yolov11x_court_keypoint_model_256x256_output/quantized_model.bc \
  -c ./court_keypoint_calibration_data_rgb_f32_256x256

各输出相似度 >0.99 说明量化没问题,专心查板端;明显偏低再用精度 debug 工具定位敏感层(yaml 加 debug_mode: dump_calibration_data,用 hmct-debugger 分析):

2. 核对 hbm 输出顺序和类型与 parser 的假设

hb_model_info -m yolov11x_court_keypoint_bayese_256x256_nv12.hbm

你的 parser 里 output_order = {1,0,6,3,2,7,5,4,8} 是按「mapper 输出为 [box_s8, cls_s8, box_s16, cls_s16, box_s32, cls_s32, kpt_s8, kpt_s16, kpt_s32]」写死的,且 cls/kpt 按 float 原始 logits 读(导出 onnx 时不能带 sigmoid)、box 按 int16 反量化。只要 onnx 输出顺序、个数或 qtype 和这个假设不一致,解码就全错,AP=0 正是典型表现。

3. 确认板端喂的是 NV12

input_type_rt: nv12 时板端必须送 NV12 数据(色彩转换和 /255 由模型内部完成),喂 RGB 或 stride 对齐不对也会全零。可以用同一张图在板上 hrt_model_exec 推理,和 x86 上 onnxruntime 的输出逐层对一下,很快能看出是数据进错了还是解析错了。

量化链路可以先排除了:log 里各节点余弦相似度都在 0.999 以上,而且 box 解码正常、kpt 全错,问题基本锁定在后处理的关键点这一路。看了你的 parser.cpp,有一个确定的 bug 加两个要核对的点:

1. 关键点解码少了 -0.5 的 anchor 偏移(确定 bug)

Ultralytics 官方解码是 kpt*2 + anchor - 0.5 再乘 stride(box 用 w+0.5,kpt 是 w-0.5),你的代码把 -0.5 丢了:

// 现在的写法
float x = (w + cur_kpt_data[3 * i] * 2.0) * stride;
float y = (h + cur_kpt_data[3 * i + 1] * 2.0) * stride;
// 应为
float x = (cur_kpt_data[3 * i] * 2.0 + w - 0.5) * stride;
float y = (cur_kpt_data[3 * i + 1] * 2.0 + h - 0.5) * stride;

stride 32 分支会系统性偏 16 像素,256×256 输入下 OKS 判定基本全挂,AP=0 不奇怪。

2. 核对 3 个 kpt tensor 和 stride 的对应关系

你的 output_order {1,0,6,3,2,7,5,4,8} 是按注释里"假定"的输出顺序排的。box/cls 那 6 个恰好对上了,但如果最后 3 个 kpt 输出的实际顺序和假定不一致(比如 kpt_s32 排在了 kpt_s8 的位置),坐标会整体差 2~4 倍,正好是"与 gt 相差很大"的表现。建议把 9 个输出 tensor 的 validShape 打出来核对:kpt tensor 通道数应为 9(3 点 × 3),分别对应 32×32 / 16×16 / 8×8,按 shape 匹配,不要按假定顺序。

3. 确认 kpt tensor 的 dtype

你开了 set_all_nodes_int16,如果 kpt 输出因此变成 int16 而代码直接按 float* 读,数值全是乱的。打印一下:

RCLCPP_INFO(logger, "kpt type=%d, scale=%f",
    kpts->properties.quantization.validType,
    kpts->properties.scale.scaleData[0]);

如果是 S16,需要像 box 那样先用 scale 反量化再解码。

先把第 1 点改了重测;还不行的话,把第 2、3 点打印出来的 shape 和 type 贴上来,基本就能定位了。

我的模型输出顺序为:

Model Info:
name: yolov11x_court_keypoint_bayese_256x256_nv12.
[input]
- (0) Layout: NCHW, Shape: [1, 3, 256, 256], Type: HB_DNN_IMG_TYPE_NV12.
[output]
- (0) Layout: NCHW, Shape: [1, 32, 32, 64], Type: HB_DNN_TENSOR_TYPE_S16.
- (1) Layout: NCHW, Shape: [1, 32, 32, 1], Type: HB_DNN_TENSOR_TYPE_F32.
- (2) Layout: NCHW, Shape: [1, 16, 16, 64], Type: HB_DNN_TENSOR_TYPE_S16.
- (3) Layout: NCHW, Shape: [1, 16, 16, 1], Type: HB_DNN_TENSOR_TYPE_F32.
- (4) Layout: NCHW, Shape: [1, 8, 8, 64], Type: HB_DNN_TENSOR_TYPE_S16.
- (5) Layout: NCHW, Shape: [1, 8, 8, 1], Type: HB_DNN_TENSOR_TYPE_F32.
- (6) Layout: NCHW, Shape: [1, 32, 32, 9], Type: HB_DNN_TENSOR_TYPE_F32.
- (7) Layout: NCHW, Shape: [1, 16, 16, 9], Type: HB_DNN_TENSOR_TYPE_F32.
- (8) Layout: NCHW, Shape: [1, 8, 8, 9], Type: HB_DNN_TENSOR_TYPE_F32.

而后处理要求输入为:

void ParseTensor(std::shared_ptr<DNNTensor> clses, // 类别置信度
                 std::shared_ptr<DNNTensor> boxes, // 目标框坐标
                 std::shared_ptr<DNNTensor> kpts,  // 关键点坐标
                 int layer,
                 std::vector<Pose> &poses)

output_order = {1,0,6,3,2,7,5,4,8} 是正确的,我更想知道后处理代码哪些地方有问题

顺序没问题,问题大概率出在 ParseTensor 里的解码参数和量化处理——官方 04posesample 的后处理是按 COCO 17 关键点、640 输入写的,你这个模型是 3 关键点(9 = 3×3)、256 输入,直接套用会有几处对不上:

  1. 关键点数硬编码:检查代码里 KPT_NUM(或 kpts 通道步长)是不是还是 17。你每格 kpt 通道只有 9,按 17 个点去 stride 读取会整体错位/越界,点和框全乱。

  2. S16 box 反量化:box 输出是 S16,DFL softmax 前必须先用该 tensor 自己的 scale/zero point 转 float。常见错误是直接拿 int16 原始值算 DFL,或者 scale 取错 tensor,框坐标就系统性偏移。

  3. 关键点解码公式:ultralytics 官方是:

kx = (raw_x * 2.0 + grid_x - 0.5) * stride;
ky = (raw_y * 2.0 + grid_y - 0.5) * stride;
score = sigmoid(raw_conf);   // 只有 conf 过 sigmoid,x/y 不过

*2、漏 -0.5、或 conf 没过 sigmoid,点会整体偏移、分数分布改变,mAP 掉得很明显。

  1. 256 输入的尺寸映射:stride、letterbox 反映射要按 256×256 算,别沿用示例里 640 的常量。

建议二分定位一下:板端 dump 同一帧的 9 路输出,PC 上用浮点 onnx 跑同一帧对比 cls / box / kpt 三组数值。cls 和 box 都对、只有解码后坐标偏 → 后处理公式问题;板端 raw 数值本身就和浮点差很多 → 是量化问题,回头查校准集。

方便的话把 ParseTensor 函数体贴出来,可以直接帮你指到具体哪行。

如何导出的ONNX ? YOLO11Pose 有方案的 https://github.com/D-Robotics/rdk_model_zoo/blob/rdk_x5/samples/vision/ultralytics_yolo/README_cn.md

YOLO("best.pt").export(imgsz=256, format='onnx', simplify=False, opset=11)

导出命令就是根因:YOLO("best.pt").export(...) 默认导出的是完整解码头的模型——DFL、dist2bbox、concat 全在模型里,最终只有一个 output0(你这个模型是 [1, 14, 1344],14 = 4 box + 1 cls + 3×3 kpt,坐标已解码、cls 已过 sigmoid)。

而你板端用的 ptq_yolo11_kpt_output_parser 期望的是 9 路原始特征输出(s8/s16/s32 各一组 box/cls/kpt),DFL 解码、sigmoid、关键点解码都在 CPU 后处理里做——你 parser 里 DequantiScalefastExp(w + kpt*2)*stride 这套解码逻辑就是证据。两边结构不匹配,后处理解析出来的全是错位数据,AP 从 100 直接掉到 0 正好是这个症状(工具链也明确要求浮点模型里不要包含后处理算子:7.3.1 简介 | RDK X3/X5 DOC )。

修复步骤:

  1. 先确认输出结构(应该只有 1 个 output0,即可证实不匹配):
import onnxruntime as ort
s = ort.InferenceSession("best.onnx")
print([(o.name, o.shape) for o in s.get_outputs()])
  1. 按 X5 官方样例重新导出:先修改 ultralytics 的 head.py(Pose 的 forward 截掉解码尾部,让 9 路特征图直接作为输出),再 export(imgsz=256, format='onnx', opset=11)。参考 rdk_model_zoo rdk_x5 分支的 ultralytics_YOLO 样例(含改法和导出/转换脚本):
    https://github.com/D-Robotics/rdk_model_zoo/tree/rdk_x5/samples/vision/ultralytics_YOLO

  2. 重新转换后,建议先跑一遍官方 yolov11 pose 样例模型验证板端链路,再换上你的模型——这样量化配置和 parser 的问题可以一次性排除。

目前维护的方案请按照model zoo进行导出量化 也有精度评估

导出bin模型时我有去掉反量化节点,并没有不匹配

去掉反量化节点这件事本身没问题,但恰恰是这里容易藏着一个「不匹配」:你贴的 parser 只对 box 分支做了量化解析,cls 和 kpt 是直接按 float32 读的

auto *cls_data = reinterpret_cast<float *>(clses->sysMem[0].virAddr);   // 要求 cls 是 float32 输出
auto *box_data = reinterpret_cast<int16_t *>(boxes->sysMem[0].virAddr); // box 才是 int16+scale 手动反量化
auto *kpt_data = reinterpret_cast<float *>(kpts->sysMem[0].virAddr);    // 要求 kpt 是 float32 输出

如果你导出 bin 时把所有输出的反量化节点都去掉了,cls/kpt 实际是 int8/int16 量化数据,按 float 重解释出来全是乱码——置信度要么全被阈值滤掉、要么解码出非法框,AP 直接归零。这和「浮点 100% → 板端 0%」的现象完全吻合(量化本身掉点是缓慢下降,不会掉到 0)。

两步确认:

  1. 看 bin 模型每个输出的实际数据类型:
hb_model_info -m yolov11x_court_keypoint_bayese_256x256_nv12.bin

这个 parser 期望的是:cls/kpt = float32,box = int16(带 scale)。对不上就是根因。

  1. 板端打印每个输出 tensor 的 properties.tensorType,或直接 dump 几个 cls_data 的值——如果出现 1e-38 之类的异常 float,就是量化数据被误读了。

修复二选一:

  • 对照官方 16_yolov11_pose 示例的导出方式,只对 box 分支去反量化,cls/kpt 保留 float32 输出;
  • 或者在 parser 里给 cls/kpt 补上按 properties.scale 手动反量化的逻辑(注意 cls 是 logits,反量化后不要再做两次 sigmoid)。

反量化节点融合的背景可以看这里:PTQ 常见问题 - 如何处理模型首尾部的量化/反量化算子

可以先把 hb_model_info 里各输出的类型贴上来,基本一眼就能确认。

我只去掉了三个box输出的反量化节点。另外,我用相同的链路(yaml参数,后处理parser一样)部署了自己训练的人体关键点检测模型,也能够输出17个点和目标框,只是他们都往左上角产生了一定偏移,问题是否还出在后处理?

框和点整体朝同一个方向偏,基本可以排除量化精度问题(量化误差是随机的、不会系统性偏向左上角),最可能是坐标映射没对齐:parser 解出来的坐标是 256×256 模型输入坐标系的,还原到原图时 letterbox 的 pad/ratio 处理错了——往左上偏典型是 pad 被多减了一次或没加回(letterbox 居中填充时 pad 在左/上)。

你贴的 parser 里解码公式本身是对的(box (w+0.5±d)*stride、kpt (w+2d)*stride,和 ultralytics 标准导出一致),所以建议这样排查:

  1. 看偏移量特征

    • 偏移是固定像素、和目标位置无关 → letterbox pad 问题,检查板端喂图前的预处理(pad 加在哪边)和评测时的坐标还原 (coord - pad) / ratio 是否互逆;
    • 偏移随目标离左上角越远越大 → resize 比例映射错;
    • 偏移恰好是半个网格(s8/s16/s32 分别差 4/8/16 px)→ 导出模型的 anchor 原点和 parser 假设差 0.5 格。
  2. 浮点链路复现一次:同一张图、同样的前处理,用 onnxruntime 跑浮点 ONNX,输出喂进同一套解码逻辑。如果浮点也偏左上 → 纯后处理/坐标映射问题,和板端、量化都无关,直接在 Python 侧把映射修对再搬回去。

  3. Netron 看下自训模型导出分支:确认输出是 raw 格式(每个 stride 三个头:cls 1ch / box 64ch / kpt 51ch,共 9 个输出),没带 decode/sigmoid。顺带这也可能解释 court 模型 AP=0:如果那个模型导出时已含 decode 或 sigmoid,套同一个 parser 结果必然全错。

先做第 2 步,浮点链路一跑基本就能锁定是映射问题还是导出分支问题。

现在已经不维护移除后处理节点的方案了