Я успешно создал инструмент анализа настроений с помощью BertForSequenceClassification
из обнимающего лица / трансформаторов , чтобы классифицировать твиты $ tsla как положительные или отрицательные.
Однако я не могу выяснить, как я могу получить векторы функций на твит (точнее, встраивание [CLS]
) из моей настроенной модели.
больше информации об используемой модели:
model = BertForSequenceClassification.from_pretrained(OUTPUT_DIR, num_labels=num_labels)
model.config.output_hidden_states = True
tokenizer = BertTokenizer(OUTPUT_DIR+'vocab.txt')
Однако, когда я запускаю код ниже, переменная output
состоит только из логитов.
model.eval()
eval_loss = 0
nb_eval_steps = 0
preds = []
for input_ids, input_mask, segment_ids, label_ids in tqdm_notebook(eval_dataloader, desc="Evaluating"):
input_ids = input_ids.to(device)
input_mask = input_mask.to(device)
segment_ids = segment_ids.to(device)
label_ids = label_ids.to(device)
with torch.no_grad():
output = model(input_ids,token_type_ids= segment_ids,attention_mask= input_mask)