Views
No views yet
1from transformers import AutoModelForSequenceClassification, AutoTokenizer, AutoConfig
2import numpy as np
3import torch
4from scipy.special import softmax
5
6model_name = "ruanchaves/mdeberta-v3-base-assin2-entailment"
7s1 = "Os homens estão cuidadosamente colocando as malas no porta-malas de um carro."
8s2 = "Os homens estão colocando bagagens dentro do porta-malas de um carro."
9model = AutoModelForSequenceClassification.from_pretrained(model_name)
10tokenizer = AutoTokenizer.from_pretrained(model_name)
11config = AutoConfig.from_pretrained(model_name)
12model_input = tokenizer(*([s1], [s2]), padding=True, return_tensors="pt")
13with torch.no_grad():
14 output = model(**model_input)
15 scores = output[0][0].detach().numpy()
16 scores = softmax(scores)
17 ranking = np.argsort(scores)
18 ranking = ranking[::-1]
19 for i in range(scores.shape[0]):
20 l = config.id2label[ranking[i]]
21 s = scores[ranking[i]]
22 print(f"{i+1}) Label: {l} Score: {np.round(float(s), 4)}")@software{Chaves_Rodrigues_eplm_2023,
author = {Chaves Rodrigues, Ruan and Tanti, Marc and Agerri, Rodrigo},
doi = {10.5281/zenodo.7781848},
month = {3},
title = {{Evaluation of Portuguese Language Models}},
url = {https://github.com/ruanchaves/eplm},
version = {1.0.0},
year = {2023}
}