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/bert-large-portuguese-cased-hatebr"
7s1 = "Quem não deve não teme!!"
8model = AutoModelForSequenceClassification.from_pretrained(model_name)
9tokenizer = AutoTokenizer.from_pretrained(model_name)
10config = AutoConfig.from_pretrained(model_name)
11model_input = tokenizer(*([s1],), padding=True, return_tensors="pt")
12with torch.no_grad():
13 output = model(**model_input)
14 scores = output[0][0].detach().numpy()
15 scores = softmax(scores)
16 ranking = np.argsort(scores)
17 ranking = ranking[::-1]
18 for i in range(scores.shape[0]):
19 l = config.id2label[ranking[i]]
20 s = scores[ranking[i]]
21 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}
}