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