AttributeError: 'list' object has no attribute 'size' Hugging-Face transformers

AttributeError: 'list' object has no attribute 'size' Hugging-Face transformers

我正在尝试使用 Huggingface 将英语内容转换为印地语。 这是代码片段

from transformers import AutoTokenizer, AutoModelForSeq2SeqLM

tokenizer = AutoTokenizer.from_pretrained("Helsinki-NLP/opus-mt-en-hi")

model = AutoModelForSeq2SeqLM.from_pretrained("Helsinki-NLP/opus-mt-en-hi")
text = "Hello my friends! How are you doing today?"
tokenized_text = tokenizer.prepare_seq2seq_batch([text])

# Perform translation and decode the output
translation = model.generate(**tokenized_text)
translated_text = tokenizer.batch_decode(translation, skip_special_tokens=True)[0]

# Print translated text
print(translated_text)

我在尝试调用 'model' 上的生成方法时遇到此错误。

AttributeError: 'list' object has no attribute 'size'.

我在 运行 使用 transformer 版本 4.3.3。

该模型需要 pytorch 张量而不是 python 列表。只需将 return_tensors='pt' 添加到 prepare_seq2seq:

from transformers import AutoTokenizer, AutoModelForSeq2SeqLM

tokenizer = AutoTokenizer.from_pretrained("Helsinki-NLP/opus-mt-en-hi")

model = AutoModelForSeq2SeqLM.from_pretrained("Helsinki-NLP/opus-mt-en-hi")
text = "Hello my friends! How are you doing today?"
tokenized_text = tokenizer.prepare_seq2seq_batch([text], return_tensors='pt')

# Perform translation and decode the output
translation = model.generate(**tokenized_text)
translated_text = tokenizer.batch_decode(translation, skip_special_tokens=True)[0]

# Print translated text
print(translated_text)

输出:

आप आज कैसे कर रहे हैं?