Update app.py
Browse files
app.py
CHANGED
@@ -21,6 +21,46 @@ model = AutoModelForSeq2SeqLM.from_pretrained(nombre_modelo)
|
|
21 |
tokenizer = AutoTokenizer.from_pretrained(nombre_modelo)
|
22 |
|
23 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
def predict(frase):
|
25 |
#img = PILImage.create(img)
|
26 |
inputs = tokenizer(frase, return_tensors="pt")
|
|
|
21 |
tokenizer = AutoTokenizer.from_pretrained(nombre_modelo)
|
22 |
|
23 |
|
24 |
+
|
25 |
+
|
26 |
+
|
27 |
+
import numpy as np
|
28 |
+
|
29 |
+
import evaluate
|
30 |
+
|
31 |
+
metric = evaluate.load("sacrebleu")
|
32 |
+
|
33 |
+
def postprocess_text(preds, labels):
|
34 |
+
preds = [pred.strip() for pred in preds]
|
35 |
+
labels = [[label.strip()] for label in labels]
|
36 |
+
|
37 |
+
return preds, labels
|
38 |
+
|
39 |
+
def compute_metrics(eval_preds):
|
40 |
+
preds, labels = eval_preds
|
41 |
+
if isinstance(preds, tuple):
|
42 |
+
preds = preds[0]
|
43 |
+
decoded_preds = tokenizer.batch_decode(preds, skip_special_tokens=True)
|
44 |
+
|
45 |
+
labels = np.where(labels != -100, labels, tokenizer.pad_token_id)
|
46 |
+
decoded_labels = tokenizer.batch_decode(labels, skip_special_tokens=True)
|
47 |
+
|
48 |
+
decoded_preds, decoded_labels = postprocess_text(decoded_preds, decoded_labels)
|
49 |
+
|
50 |
+
result = metric.compute(predictions=decoded_preds, references=decoded_labels)
|
51 |
+
result = {"bleu": result["score"]}
|
52 |
+
|
53 |
+
prediction_lens = [np.count_nonzero(pred != tokenizer.pad_token_id) for pred in preds]
|
54 |
+
result["gen_len"] = np.mean(prediction_lens)
|
55 |
+
result = {k: round(v, 4) for k, v in result.items()}
|
56 |
+
return result
|
57 |
+
|
58 |
+
|
59 |
+
|
60 |
+
|
61 |
+
#CAMBIAR LO QUE SE RETORNA Y PONER LO DEL DECODER.
|
62 |
+
|
63 |
+
|
64 |
def predict(frase):
|
65 |
#img = PILImage.create(img)
|
66 |
inputs = tokenizer(frase, return_tensors="pt")
|