首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否有可能访问拥抱面板变压器嵌入层?

是否有可能访问拥抱面板变压器嵌入层?
EN

Stack Overflow用户
提问于 2022-04-01 14:01:20
回答 2查看 558关注 0票数 0

我想使用一个预先训练的拥抱脸变压器语言模型作为编码器在一个序列序列模型。

任务是语法纠错,所以输入和输出都来自同一种语言。

因此,我想知道是否可以从拥抱式面部变压器编码器中访问嵌入层,并将其用作解码器的嵌入层?

或者你还会推荐其他的方法?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-04-03 18:16:13

以伯特为例

如果加载BertModel

代码语言:javascript
运行
复制
from transformers import BertModel
model = BertModel.from_pretrained("bert-base-uncased")
print(model.embeddings)

# output is
BertEmbeddings(
  (word_embeddings): Embedding(30522, 768, padding_idx=0)
  (position_embeddings): Embedding(512, 768)
  (token_type_embeddings): Embedding(2, 768)
  (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)
  (dropout): Dropout(p=0.1, inplace=False)
)

如果您用其他层(例如BertForPreTraining或BertForSequenceClassification)加载bert

代码语言:javascript
运行
复制
from transformers import BertForSequenceClassification
model = BertForSequenceClassification.from_pretrained("bert-base-uncased")
print(model.bert.embeddings)

# output is
BertEmbeddings(
  (word_embeddings): Embedding(30522, 768, padding_idx=0)
  (position_embeddings): Embedding(512, 768)
  (token_type_embeddings): Embedding(2, 768)
  (LayerNorm): LayerNorm((768,), eps=1e-12, elementwise_affine=True)
  (dropout): Dropout(p=0.1, inplace=False)
)
票数 0
EN

Stack Overflow用户

发布于 2022-04-03 17:34:17

是的,您可以通过以下途径访问:

代码语言:javascript
运行
复制
model.embeddings
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71708136

复制
相关文章

相似问题

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