【onnx】——报错Segmentation fault (core dumped)
摘要: 使用onnxruntime推理Qwen2-7B模型时出现"Segmentation fault"错误。经检查发现onnx模型文件超过protobuf的2GB限制(实际5.48GB),导致加载失败。解决方案是对模型权重进行量化,减小模型体积后重新导出onnx格式。关键步骤包括:通过onnx.checker.check_model验证模型完整性,并需调整SessionOpt
·
1. 问题描述
用onnxruntime进行qwen2-7B onnx模型推理报错:Segmentation fault (core dumped),不知道那里的问题。
2. 问题定位
通过onnx模型来载入模型,并做onnx检查。
onnx_model = onnx.load(model_path)
onnx.checker.check_model(onnx_model, full_check=True)
sess_options = rt.SessionOptions()
sess_options.graph_optimization_level = (
rt.GraphOptimizationLevel.ORT_DISABLE_ALL
)
self.model = rt.InferenceSession(onnx_model.SerializeToString(), providers=["CPUExecutionProvider"])
报错:ValueError: Message onnx.ModelProto exceeds maximum protobuf size of 2GB: 5485191845
这是因为protobuf对单个文件有2GB的限制。
3. 解决方案
可以将其中的weight进行量化,在导出到onnx
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)