Pytorch не принимает тензоры токенов для прокладкиPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Pytorch не принимает тензоры токенов для прокладки

Сообщение Anonymous »

Я тренируюсь обнимаю лиц трансформатор Albert-base-v2, чтобы предсказать токен в POS_TAGS, Chunk_tags и NER_TAGS, поэтому я положил 3-й слой FC на вершину стека Encoder. Я написал функцию сопоставления для накладки и оценки данных, прежде чем разместить данные для сопоставления функции, я преобразую ее в тензоры факела, но после составления списка input_ids, когда я ставлю его для накладки, это дает ошибку:- typeerr: только Целые тензоры одного элемента могут быть преобразованы в индекс, это код, < /p>
'chunk_tags', 'ner_tags', 'input_ids'])

def get_collate_fn(pad_index):
def collate_fn(batch):
batch_ids = [torch.tensor(i["input_ids"], dtype=torch.long) for i in batch]
batch_ids = nn.utils.rnn.pad_sequence(batch_ids, batch_first=True,
padding_value=pad_index)

batch_label_1 = [i["pos_tags"] for i in batch]
batch_label_1 = torch.stack(batch_label_1)

batch_label_2 = [i["chunk_tags"] for i in batch]
batch_label_2 = torch.stack(batch_label_2)

batch_label_3 = [i["ner_tags"] for i in batch]
batch_label_3 = torch.stack(batch_label_3)
# TypeError: only integer tensors of a single element can be converted to an index

return {"input_ids" : batch_ids, "pos_tags" : batch_label_1, "chunk_tags" :
batch_label_2, "ner_tags" : batch_label_3}
return collate_fn

def get_dataloader(dataset, batch_size, pad_index, shuffle=False):
collate_fn = get_collate_fn(pad_index)
data_loader = torch.utils.data.DataLoader(
dataset = dataset,
batch_size = batch_size,
collate_fn = collate_fn,
shuffle = shuffle,
)
return data_loader```

`your text`

I tried to convert the batch_ids to torch tensor by batch_ids = torch.tensor(batch_ids), it didnt work , before i was not converting each input_ids into tensor the batch_ids was only a list , but still was not working saying TypeError: expected Tensor as element 0 in argument 0, but got list


Подробнее здесь: https://stackoverflow.com/questions/794 ... or-padding
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»