gpt4 book ai didi

pytorch - 卡住预训练 bert 模型中的层

转载 作者:行者123 更新时间:2023-12-05 08:31:25 60 4
gpt4 key购买 nike

Pre Trained BERT Model

如何卡住上述预训练模型中的最后两层(dropout 和分类器层)?这样当模型运行时,我将得到一个致密层作为输出。

最佳答案

我想指出 BertForSequenceClassification 的定义您可以使用以下方法轻松避免丢失和分类器:

model = BertForSequenceClassification.from_pretrained("bert-base-uncased", num_labels=2)
model.bert() # this will give you the dense layer output

为什么可以做到以上几点?如果您看一下 BertForSequenceClassification 的构造函数:

def __init__(self, config):
super(BertForSequenceClassification, self).__init__(config)
self.num_labels = config.num_labels

self.bert = BertModel(config)
self.dropout = nn.Dropout(config.hidden_dropout_prob)
self.classifier = nn.Linear(config.hidden_size, self.config.num_labels)

self.init_weights()

如您所见,您只想忽略 dropoutclassifier 层。

还有一点,卡住图层和移除图层是两件不同的事情。在您的问题中,您提到要卡住分类器层,但卡住层不会帮助您避免它。卡住意味着您不想训练该层。

关于pytorch - 卡住预训练 bert 模型中的层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58510737/

60 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com