首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >删除和重新初始化所包含的BERT权重/参数

删除和重新初始化所包含的BERT权重/参数
EN

Stack Overflow用户
提问于 2021-05-18 16:26:54
回答 2查看 909关注 0票数 0

我试着微调伯特的分类下游任务。

现在,我再次加载了模型,并遇到了以下警告:

在初始化BertModel时,没有使用bert-base的模型检查点的一些权重:“cls.pretions.Trans.dense.权重”、“cls.predictions.Trans.LayerNorm.权重”、“cls.seq_Relationship.权重”、“cls.seq_relations.偏向”、“cls.seq_Relationship.偏向”、“cls.Pretions.Transtions.Trans.LayerNorm.偏向”、“cls.pretions.Transtions.dense.偏向”、“cls.predictions.decoder.weight”。

  • --如果您要从一个在另一个任务上训练的模型的检查点或使用另一个体系结构(例如,从一个BertForPreTraining模型初始化一个BertForSequenceClassification模型)初始化BertModel。如果您要从一个期望完全相同的模型的检查点初始化BertModel (从一个BertForSequenceClassification模型初始化一个BertForSequenceClassification模型),则不需要

屏幕截图1:https://i.stack.imgur.com/YJZVc.png

我已经删除并重新安装了transformers==4.6.0,但是没有任何帮助。我想,也许通过参数"force_download=True“,它可以得到最初的权重,但没有任何帮助。

我该继续无视警告吗?是否有一种方法可以删除模型检查点,例如下载模型时,权重是否再次确定?

提前感谢!

最好,亚历克斯

EN

回答 2

Stack Overflow用户

发布于 2021-05-18 18:43:26

只要您正在微调下游任务的模型,则可以忽略此警告。其想法是,来自预培训模型的[CLS]令牌权重对于下游任务并不有用,需要进行精细调整。

Huggingface随机地初始化它们,因为您使用的是bert-base-cased,这是一个BertForPretraing模型,并由此创建了一个BertModel。警告是要确保您理解直接使用预先培训过的模型的区别,或者如果您计划将它们用于不同的任务。

在这一点上,如果您计划执行分类任务,我建议您使用它们的BertForSequenceClassification类。

博士,你可以忽略它,只要你正在完善。

票数 2
EN

Stack Overflow用户

发布于 2021-05-20 10:48:21

嗨,谢谢你的回答!我在描述上不是很具体!我首先为下游任务fine_tuned伯特,然后在另一本不同的笔记本中,我只想要通常得到的伯特,并与它的嵌入工作。

我把那些根本不相关的东西联系起来了。我想,通过微调下游任务的伯特参数,我已经改变了我所有的'bert_base_uncased‘模型的参数,这就是为什么我得到这个警告。即使当我只想从标准中得到通常的嵌入时,伯特也是如此。

我已经“解决”了这个问题,或者至少我找到了一个解决办法:

transformers

  • One Conda环境用于下游任务分类: conda安装-c Conda伪造-c conda环境用于获取嵌入式:conda安装-c conda--c/-c/-c 202003互感器

也许这是苹果/Mac特有的事情,我不知道为什么我会遇到这个问题,但没有其他人^^

不管怎样,谢谢你的回答!

最好,亚历克斯

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67590284

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档