python - Bert 模型编译错误 - TypeError : Invalid keyword argument(s) in `compile` : {'steps_per_execution' }

标签 python tensorflow bert-language-model

我一直在使用 bert 并尝试使用以下代码行编译模型。

model = TFBertForSequenceClassification.from_pretrained('bert-base-uncased')
optimizer = tf.keras.optimizers.Adam(learning_rate=learning_rate, epsilon=1e-08)
loss = tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True)
metric = tf.keras.metrics.SparseCategoricalAccuracy('accuracy')

callbacks = [tf.keras.callbacks.ModelCheckpoint(filepath=OUTPUT_FOLDER+"\\bert_model.h5",
                                                        save_weights_only=True,
                                                        monitor='val_loss',
                                                        mode='min',
                                                        save_best_only=True)]

model.compile(optimizer=optimizer, loss=loss, metrics=[metric])

编译代码时,出现类型错误。

TypeError:compile 中的关键字参数无效:{'steps_per_execution'}

我目前使用的 transformers 包版本是 4.11.3。当我使用变形金刚 4.10.2 时,上面的代码就像一个魅力

我如何让它与 4.11.3 一起工作?

最佳答案

这是因为您的 TensorFlow 版本不是最新的。几个小时前我遇到了同样的问题。我将我的 TensorFlow 版本更新到最新版本(并将 CUDA 和 cudnn 更新到各自的版本),现在它工作正常。因此,只需更新您的 TensorFlow 版本就可以了。

编辑:我从 TensorFlow 2.3.0 升级到 2.7.0

关于python - Bert 模型编译错误 - TypeError : Invalid keyword argument(s) in `compile` : {'steps_per_execution' },我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69736155/

相关文章:

python - AttributeError: 'Tensor' 对象没有属性 'numpy'

python - tf.assign 到变量切片在 tf.while_loop 中不起作用

python - 导入 BERT : module 'tensorflow._api.v2.train' has no attribute 'Optimizer' 时出错

python - 无法覆盖由monkeypatch 为单例类设置的函数的初始值

python - Python 3.6 中的名称错误

Python模块 "twill"——变量赋值期间的HTML泛滥

python - 具有多个输入序列和相应的多个输出序列的 LSTM

huggingface-transformers - 将新 token 添加到 BERT/RoBERTa,同时保留相邻 token 的 token 化

pytorch - 导入错误 : cannot import name 'warmup_linear'

python - python 中的 HP ALM 12 Rest api 帮助