【发布时间】:2021-08-21 05:54:03
【问题描述】:
我使用 HuggingFace 的转换器模块训练了一个名为 ed_model 的基于 BERT 的编码器解码器模型 (EncoderDecoderModel)。
我使用了名为input_tokenizer的BertTokenizer
我将输入标记为:
txt = "Some wonderful sentence to encode"
inputs = input_tokenizer(txt, return_tensors="pt").to(device)
print(inputs)
输出清楚地表明input_ids 是返回字典
{'input_ids': tensor([[ 101, 5660, 7975, 2127, 2053, 2936, 5061, 102]], device='cuda:0'), 'token_type_ids': tensor([[0, 0, 0, 0, 0, 0, 0, 0]], device='cuda:0'), 'attention_mask': tensor([[1, 1, 1, 1, 1, 1, 1, 1]], device='cuda:0')}
但是当我尝试预测时,我得到了这个错误:
ed_model.forward(**inputs)
ValueError: 你必须指定 input_ids 或 inputs_embeds
有什么想法吗?
【问题讨论】:
-
请发布(总是)完整的错误堆栈跟踪,并向我们展示如何初始化
ed_model(在您的培训之前)。 -
显然这是一个已知问题,请参阅:github.com/huggingface/transformers/issues/3626
标签: bert-language-model huggingface-transformers