python-3.x - AttributeError: 'list' 对象没有属性 'size' Hugging-Face 转换器
问题描述
我正在尝试使用 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)
尝试在“模型”上调用方法生成时出现此错误。
AttributeError:“列表”对象没有属性“大小”。
我在变压器版本 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)
输出:
आप आज कैसे कर रहे हैं?
推荐阅读
- r - R - 从具有不同 # 行的另一个数据集中添加变量
- video - 使用ffmpeg下载多个文件,每个文件保留一个流(根据默认流选择),然后将它们混合成单个文件?
- python-3.x - 与 shell 交互并在 Jupyter 笔记本中输入标准输入值
- angular - 在 v12 角度材料中,如何从任何 sass 文件中的自定义主题中获取颜色
- google-chrome-devtools - 如何在客户端实现 ChromeDevtoolsProtocol - CSS.getMatchedStylesForNode
- java - 在 IBM JDK 上使用 SunJCE 提供程序加载 JCKES 密钥库
- logging - 芹菜写任务回溯到日志
- python-3.x - 在 virtualenv 中为不同的 python 版本安装 Psycopg2
- reactjs - 如何在chartjs中更改两个甜甜圈图的厚度
- python - 合并来自两个数据帧的数据进行训练