在我们深入探索产品及相关技术应用的过程中,大家针对诸多关键环节产生了一系列疑问。针对这些疑问我们经过收集与系统整理,将高频问题及精准解答汇总呈现,该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]
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)
if input.name in batch_input:
input.insert_split(dim=0)
