专栏算法工具链知识梳理汇总FAQ-2025.04

知识梳理汇总FAQ-2025.04

Huanghui2025-05-27
113
0

在我们深入探索产品及相关技术应用的过程中,大家针对诸多关键环节产生了一系列疑问。针对这些疑问我们经过收集与系统整理,将高频问题及精准解答汇总呈现,该FAQ旨在为您扫清知识障碍,助力您高效使用产品或技术。另外,我们会根据用户的反馈情况持续进行FAQ的整理和迭代并分期分享给用户。当你遇到困难,不妨来此查找看看,也是这里有与你“志同道合”的伙伴。

1. 开发环境

  • Q:J3精度debug工具使用列代码调用接口失败?
    **<font color="Green">A</font>**:已验证,该**接口确实不存在**,问题已提交研发,待下一版本进行修复,请密切关注版本发布。。


2. 模型转换

2.1 PTQ

  • Q:J6支持动态SHAPE吗?
    A:地平线的工具链目前还无法支持类似nonzero这种导致动态SHAPE的算子,应尽量将参与计算的算子固定化。

- **Q**:calibration_type为load时的作用? **A**:"load"模式是 load QAT训练后导出的onnx模型 ,因为是训练过的,无需在进行校准。但是J6是不再支持load 模式 的,使用时注意哈。
- **Q**:部署BEV模型在部,如何将pyramid输入的多batch的摄像头数据沿batch维度做拆分? **A**: ``` from hbdk4.compiler import load
model = load("qat_model.bc")
func = model[0]

依据部署需要,维护一个独立地址部署的输入节点名称列表,或index列表

输入节点名采用上一节的方式进行了自定义修改

batch_input = ["input_name1"]

为和历史版本保持兼容,建议使用flatten_inputs将输入展开,如下代码同时兼容新旧版本模型:

for input in func.flatten_inputs[::-1]:
if input.name in batch_input:
input.insert_split(dim=0)

ps:

1.insert_split会导致节点数变多,因此建议从后往前拆

2.就算batch=1,该接口也会尝试拆分,会导致输入节点的name增加 “_0” 后缀

算法工具链
技术深度解析官方教程
评论0
0/1000