ATC模型转换报输入类型不一致错误
2024/02/21
102
问题信息
问题来源 | 产品大类 | 产品子类 | 关键字 |
---|---|---|---|
官方 | 模型推理 | 模型转换 | dtype |
问题现象描述
ATC模型转换过程中报dtype of inputs must be same错误。
原因分析
concat算子的输入类型必须保持一致,但是模型转换过程中出现输入类型分别为float32和float16。
解决措施
- 在netron中打开可视化模型,找到concat算子的输入。
- 在输入后添加·Cast类型算子,将输入从float16输入转换为float32
onnx模型中插入Cast算子方法:
ew_cast = g.add_node('new_cast','Cast',attrs={'to':1}) #新建一个算子,参数分别为算子名称,算子类型,属性值。
g.insert_node('Gather_66',new_cast) #在Gather_66算子后插入新建的算子。
onnx模型包含的属性值如图1所示:
本页内容