He et al. 如何使用 DeBERTa 模型。 (2022 年)关于 Spyder?

xiaoxingxing nlp 538

原文标题How to use the DeBERTa model by He et al. (2022) on Spyder?

我最近使用基于 BERT 模型的句子转换器成功地分析了基于文本的数据。受 Kulkarni 等人的书的启发。 (2022),我的代码如下所示:

# Import SentenceTransformer
from sentence_transformers import SentenceTransformer
# use paraphrase-MiniLM-L12-v2 pre trained model
sbert_model = SentenceTransformer('paraphrase-MiniLM-L12-v2')
# My text
x='The cat cought the mouse'
# get embeddings for each question
sentence_embeddings_BERT= sbert_model.encode(x)

我想使用 DeBERTa 模型做同样的事情,但无法让它运行。我设法加载模型,但如何应用它?

import transformers 

from transformers import DebertaTokenizer, AutoTokenizer, AutoModel
tokenizer = AutoTokenizer.from_pretrained("microsoft/deberta-v3-base")
model = AutoModel.from_pretrained("microsoft/deberta-v3-base")                    

sentence_embeddings_deBERTa= model(x)

最后一行没有运行,错误信息是:

AttributeError:“str”对象没有属性“size”

有经验丰富的 DeBERTa 用户吗?

谢谢帕特

原文链接:https://stackoverflow.com//questions/71878447/how-to-use-the-deberta-model-by-he-et-al-2022-on-spyder

回复

我来回复
  • meti的头像
    meti 评论

    欢迎来到 SO ;)当您调用encode()方法时,它会tokenize输入然后将其编码为转换器模型期望的张量,然后将其传递给模型架构。当您使用transformers您必须手动执行这些步骤。

    from transformers import DebertaTokenizer, DebertaModel
    import torch
    # downloading the models
    tokenizer = DebertaTokenizer.from_pretrained("microsoft/deberta-base")
    model = DebertaModel.from_pretrained("microsoft/deberta-base")
    # tokenizing the input text and converting it into pytorch tensors
    inputs = tokenizer(["The cat cought the mouse", "This is the second sentence"], return_tensors="pt", padding=True)
    # pass through the model 
    outputs = model(**inputs)
    
    print(outputs.last_hidden_state.shape)
    

    最后,你必须知道你应该使用什么样的输出。

    2年前 0条评论