You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Brevitas导出QNN为ONNX部署FINN时报enable_onnx_checker参数错误

问题背景
  • 基于Brevitas完成QNN(量化神经网络)模型训练,模型输入张量形状为torch.Size([1, 3, 1024])
  • 已成功导出.pt格式模型,加载验证、混淆矩阵生成结果均符合预期,确认模型本身无逻辑问题
  • 目标为将Brevitas训练的模型部署到FINN框架,尝试导出ONNX格式文件时触发报错

使用的导出代码如下:

from brevitas.export import FINNManager
FINNManager.export(my_model, input_shape=(1, 3, 1024), export_path='myfinnmodel.onnx')

触发的报错信息:

torch.onnx.export(module, input_t, export_target, **kwargs)
TypeError: export() got an unexpected keyword argument 'enable_onnx_checker'
根因分析

该报错由依赖版本不兼容导致,和模型本身逻辑无关:
enable_onnx_checker是PyTorch 2.0及更早版本中torch.onnx.export接口支持的参数,在PyTorch 2.1之后的版本中该参数被官方移除。如果当前环境安装的Brevitas版本为0.8.x及更早版本,其内部FINNManager调用torch.onnx.export时仍然会传入这个已废弃的参数,就会触发上述参数不匹配的TypeError。

解决方法
  • 方法一:版本对齐(推荐,适配FINN全部署流程)
    卸载当前环境的PyTorch、Brevitas依赖,安装经过FINN官方验证的兼容版本组合:PyTorch 1.10.0 + Brevitas 0.7.1。该版本组合导出的ONNX模型算子完全匹配FINN的支持范围,不会出现后续编译、部署阶段的算子兼容问题,安装完成后直接运行原有导出代码即可正常生成可用的ONNX文件。
  • 方法二:高版本PyTorch临时修复
    如果不想降级现有PyTorch版本,可以找到本地Python环境中Brevitas安装目录下的brevitas/export/manager.py文件,定位到FINNManager类中调用torch.onnx.export的代码段,删除传入的enable_onnx_checker=True参数,保存文件后重新运行导出代码即可绕过该报错。注意该方法导出的ONNX可能存在opset版本、量化算子标识不匹配FINN要求的问题,若后续部署阶段遇到算子相关报错,仍需回退到方法一的版本组合处理。

内容的提问来源于stack exchange,提问作者MrFoxs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 21:21:32