【问题标题】:HuggingFace transformer how to freeze base tranformer after adding additional keras layerHuggingFace 变压器如何在添加额外的 keras 层后冻结基础变压器
【发布时间】:2021-08-03 14:42:51
【问题描述】:

我想在预训练的 BERT 模型的最后一层之后添加一个回归层。 所以应该是这样的:

output = bert_model([input_ids,attention_masks])
output = output[1]
output = tf.keras.layers.Dense(100,activation='relu')(output)

但我不知道如何冻结 BERT 模型并仅训练回归层。 有可能吗?

【问题讨论】:

    标签: keras deep-learning nlp bert-language-model huggingface-transformers


    【解决方案1】:

    您可以使用 layer_name.trainable = False 冻结 keras 中的模型权重

    在你的情况下,你可以修改如下:

    # assuming that you have defined bert_model as a layer before
    bert_model.trainable = False
    output = bert_model([input_ids,attention_masks])
    output = output[1]
    output = tf.keras.layers.Dense(100,activation='relu')(output)
    

    【讨论】:

      猜你喜欢
      • 2021-05-07
      • 2020-11-21
      • 2021-12-23
      • 2020-07-22
      • 2022-01-11
      • 1970-01-01
      • 2021-05-05
      • 2019-10-10
      • 2021-03-18
      相关资源
      最近更新 更多