算能科技
直播中

学电超人

12年用户 789经验值
擅长:微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制
私信 关注
[问答]

FP16转换报错的原因?

FP32转换正常,FP16转换报错(model_transform正常)
运行命令为:
model_deploy.py         --mlir omniSR-DIV4x-simplify.mlir         --quantize F16         --chip bm1684x         --model omniSR-DIV4x-simplify.bmodel

报错信息:
[ERR] /workspace/nntoolchain/TPU1686/firmware_core/src/local_layer/nodechip_group_norm_local.c:1072: nodechip_layer_norm_local: Assertion "0 < axis    axis < 5" failed.
Obtained 10 stack frames.
/workspace/tpu-mlir_v1.2.8-g32d7b3ec-20230802/lib/libbackend_1684x.so(+0x3194f3) [0x7fafc50964f3]
/workspace/tpu-mlir_v1.2.8-g32d7b3ec-20230802/lib/libbackend_1684x.so(__print_trace+0xe) [0x7fafc5096579]
/workspace/tpu-mlir_v1.2.8-g32d7b3ec-20230802/lib/libbackend_1684x.so(nodechip_layer_norm_local+0x8d) [0x7fafc4f92248]
/workspace/tpu-mlir_v1.2.8-g32d7b3ec-20230802/lib/libbackend_1684x.so(api_layer_norm_local+0x1e3) [0x7fafc4f691d9]
/workspace/tpu-mlir_v1.2.8-g32d7b3ec-20230802/lib/libbackend_1684x.so(backend_api_layer_norm_local+0xe0) [0x7fafc4e065b0]
tpuc-opt(+0x4cb959) [0x5631b7ccb959]
tpuc-opt(+0x402c30) [0x5631b7c02c30]
tpuc-opt(+0x6f76ca) [0x5631b7ef76ca]
tpuc-opt(+0x5b305c) [0x5631b7db305c]
tpuc-opt(+0x5b37ab) [0x5631b7db37ab]
Traceback (most recent call last):
  File "/workspace/tpu-mlir_v1.2.8-g32d7b3ec-20230802/python/tools/model_deploy.py", line 288, in
    tool.build_model()
  File "/workspace/tpu-mlir_v1.2.8-g32d7b3ec-20230802/python/tools/model_deploy.py", line 202, in build_model
    self.op_divide
  File "/workspace/tpu-mlir_v1.2.8-g32d7b3ec-20230802/python/utils/mlir_shell.py", line 154, in mlir_to_model
    _os_system(cmd)
  File "/workspace/tpu-mlir_v1.2.8-g32d7b3ec-20230802/python/utils/mlir_shell.py", line 50, in _os_system
    raise RuntimeError("[!Error]: {}".format(cmd_str))
RuntimeError: [!Error]: tpuc-opt omniSR-DIV4x-simplify_bm1684x_f16_final.mlir --codegen="model_file=omniSR-DIV4x-simplify.bmodel" -o /dev/null


回帖(1)

tulin

2024-1-10 18:33:44
该错误可能是由于在转换过程中发生了某种错误导致的。具体原因可能有多种可能性,例如模型结构不兼容、输入数据类型不匹配等。

为了解决这个问题,可以尝试以下方法:

1. 检查模型结构:确保模型结构与目标设备兼容,例如检查是否使用了目标设备不支持的操作或层。
2. 检查输入数据类型:确保输入数据类型与目标设备的要求匹配,例如检查是否使用了浮点型数据而目标设备需要整型数据。
3. 检查是否缺少依赖:如果使用的转换工具依赖于其他软件或库,检查是否缺少相关依赖项,并确保它们已正确安装和配置。
4. 查看报错信息中提到的源代码行:如果报错信息提到了特定源代码行,可以查看该行代码来了解具体发生了什么错误,并在此基础上做进一步的排查和调试。

如果以上方法都不能解决问题,建议查阅相关文档或咨询转换工具的技术支持来获取更详细的帮助。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分