Как исправить 'RuntimeError: размер тензора a должен совпадать с тензором b' в Bert - многоязычный в pytorch? - PullRequest
0 голосов
/ 03 ноября 2019

Доброе утро всем, я новичок в мире машинного обучения, и я пытаюсь использовать BERT на PyTorch и, в частности, BertForMaskedLM. Я использую модель bert-base-multilingual. Тем не менее, я получаю следующее сообщение об ошибке, когда я хочу предсказать токены. Может ли кто-нибудь мне помочь?

Размер тензора a (16) должен соответствовать размеру тензора b (14) при не синглетонном измерении 1

import torch
from pytorch_pretrained_bert import BertTokenizer, BertModel, BertForMaskedLM
tokenizer = BertTokenizer.from_pretrained('bert-base-multilingual-cased')

text = "[CLS] Salut je suis Eva et j'aime bien les pommes. [SEP]"
tokenized_text = tokenizer.tokenize(text)
masked_index = 11
tokenized_text[masked_index] = '[MASK]'
indexed_tokens = tokenizer.convert_tokens_to_ids(tokenized_text)
segments_ids = [0,0,0,0,0,0,0,0,0,0,0,0,0,0]
tokens_tensor = torch.tensor([indexed_tokens])
segments_tensors = torch.tensor([segments_ids])

model = BertForModelMaskedLM.from_pretrained('bert-base-multilingual-cased')
model.eval()
with torch.no_grad():
    predictions = model(tokens_tensor, segments_tensors)
...