Это пример, приведенный в документации библиотеки Pytorch для трансформаторов
from transformers import BertTokenizer, BertForTokenClassification
import torch
tokenizer = BertTokenizer.from_pretrained('bert-base-uncased')
model = BertForTokenClassification.from_pretrained('bert-base-uncased',
output_hidden_states=True, output_attentions=True)
input_ids = torch.tensor(tokenizer.encode("Hello, my dog is cute",
add_special_tokens=True)).unsqueeze(0) # Batch size 1
labels = torch.tensor([1] * input_ids.size(1)).unsqueeze(0) # Batch size 1
outputs = model(input_ids, labels=labels)
loss, scores, hidden_states,attentions = outputs
Здесь hidden_states
- это кортеж длины 13, содержащий скрытые состояния модели на выходе каждого слоя плюс начальные вложения выходов. Я хотел бы знать, представляют ли hidden_states [0] или hidden_states [12] конечные векторы скрытого состояния ?