如何将微调后的SetFit模型导出为ONNX格式?参数传递指南
SetFit导出ONNX时
export_onnx_setfit_model参数说明 问题背景
SetFit原生支持导出为ONNX格式,但官方缺乏相关文档说明。请问在export_onnx_setfit_model函数中,setfit_model和inputs参数应传入什么内容?
用户提供的初始代码片段:
# Load locally stored pre-trained model setfit_model = SetFitModel.from_pretrained("path/to/my/model", local_files_only=True) # Create SetFit onnx wrapper onnx_setfit_model = OnnxSetFitModel(model_body=setfit_model.model_body) # Export model export_onnx_setfit_model(setfit_model=onnx_setfit_model, inputs=???, output_path="path/to/output")
参数具体说明
1. setfit_model参数
不需要额外创建OnnxSetFitModel实例,直接传入你加载好的原生SetFitModel对象即可,也就是代码里的setfit_model变量,无需额外包装。
2. inputs参数
需要传入与模型输入格式匹配的示例输入张量,用于让ONNX导出工具推断模型的输入形状和数据类型。你可以直接用模型自带的tokenizer处理一段示例文本生成输入:
# 用模型的tokenizer生成符合要求的示例输入 inputs = setfit_model.tokenizer("这是一段示例文本", return_tensors="pt")
修正后的完整导出代码
# Load locally stored pre-trained model setfit_model = SetFitModel.from_pretrained("path/to/my/model", local_files_only=True) # 生成示例输入张量 inputs = setfit_model.tokenizer("示例文本", return_tensors="pt") # 执行ONNX导出 export_onnx_setfit_model(setfit_model=setfit_model, inputs=inputs, output_path="path/to/output")
补充提示
- 示例文本的长度尽量贴合你实际业务场景的输入长度,确保导出的ONNX模型能正确处理同规格的输入数据
- 导出完成后,可以用
OnnxSetFitModel.from_pretrained("path/to/output")加载模型,验证是否能正常推理
内容的提问来源于stack exchange,提问作者standalone_2045
相关产品推荐
相关产品推荐

