我正在使用Huggingface的预训练Pegasus模型获取Inshorts数据集的抽象摘要

2024-09-26 04:43:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Huggingface预先训练好的Pegasus模型获取Inshorts数据集的抽象摘要

我试图在'inshorts'数据集(https://www.kaggle.com/shashichander009/inshorts-news-data/metadata)上使用此模型,其中我基本上需要由预训练模型为每个inshorts样本生成的摘要,以使用数据集中的输入作为'Shorts'列预测摘要。 因此,我试图迭代“Shorts”列,但抛出了一个错误:

TypeError: 'NoneType' object is not callable

以下是背景代码:

from transformers import PegasusForConditionalGeneration, PegasusTokenizer

tokenizer = PegasusTokenizer.from_pretrained("google/pegasus-xsum")

model = PegasusForConditionalGeneration.from_pretrained("google/pegasus-xsum")

以下是与dataset相关的代码:

import io

df = pd.read_excel(io.BytesIO(uploaded['inshorts.xlsx']))

下面是它抛出错误的代码:

for a in range(0,3):
  
text = df.iloc[a,1]
  
updated_text= ' """ ' + text + ' """ ' 
  
print(updated_text)

错误在这一行:

tokens = tokenizer(updated_text , truncation=True, padding="longest", return_tensors="pt")

summary = model.generate(**tokens)
  
tokenizer.decode(summary[0])

Tags: 数据代码textfrom模型import错误google
1条回答
网友
1楼 · 发布于 2024-09-26 04:43:43

这个问题是因为tokenizertokenizer = PegasusTokenizer.from_pretrained("google/pegasus-xsum")运行之后仍然是None。有一个名为SentencePiece的前置要求包,用于运行pegasus,您可能已经安装了,但请记住,安装后必须restart您的会话/内核才能使更改生效。在上面的步骤之后,标记器变量将持有transformers.models.pegasus.tokenization_pegasus.PegasusTokenizer对象,它解决了这个问题

相关问题 更多 >