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

TFBert模型编译报错:`compile`含无效参数{'steps_per_execution'}如何解决

TFBert序列分类任务编译报错(steps_per_execution参数非法)解决方法

错误根因

transformers 4.11.x版本调整了TensorFlow类模型的基类逻辑,调用compile()方法时会默认传入steps_per_execution参数,该参数为TensorFlow 2.5及以上版本的新增编译参数,若当前环境TensorFlow版本低于2.5,就会触发参数不识别的类型错误。

解决方法

可根据开发环境选择以下任意一种方案修复:

  • 方案一:编译时显式传入steps_per_execution=1参数,覆盖默认逻辑,修改后的编译代码如下:
model.compile(optimizer=optimizer, loss=loss, metrics=[metric], steps_per_execution=1)
  • 方案二:使用模型内置的原生Keras实例完成编译,绕过Hugging Face封装层的兼容问题:
# 加载预训练模型后提取原生Keras实例
keras_model = model.keras_model
# 直接使用原生实例编译、训练
keras_model.compile(optimizer=optimizer, loss=loss, metrics=[metric])
  • 方案三:升级TensorFlow版本至2.5及以上,原生支持steps_per_execution参数,无需修改业务代码。
  • 方案四:调整transformers版本:可升级到4.12.0及以上版本(该系列版本已修复此兼容bug),也可临时降级到4.10.3版本(与你之前正常运行的4.10.2版本功能一致)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 21:36:00