训练期间如何保持模型固定?

时间:2020-04-27 17:27:29

标签: python deep-learning nlp pytorch huggingface-transformers

我正在尝试实现一个模型,该模型使用来自不同数据集的多个经过预训练的BERT模型的编码,并使用完全连接的层获得组合的表示形式。在这种情况下,我希望BERT模型保持固定,并且仅训练完全连接的层。拥抱面部变压器有可能实现这一目标吗?我看不到任何允许我这样做的标志。

PS:我不想绕过每个BERT模型的输入编码转储并将其用作输入的方式。

1 个答案:

答案 0 :(得分:1)

一个简单的解决方案是在传递给优化器时,仅排除与BERT模型相关的参数。

param_optimizer = [x for x in param_optimizer if 'bert' not in x[0]]
optimizer = AdamW(param_optimizer, lr)