MCPcopy Create free account
hub / github.com/RingBDStack/GDAP / compute_metrics

Function compute_metrics

run_seq2seq.py:612–654  ·  view source on GitHub ↗
(eval_preds)

Source from the content-addressed store, hash-verified

610 return preds, labels
611
612 def compute_metrics(eval_preds):
613 preds, labels = eval_preds
614 if isinstance(preds, tuple):
615 preds = preds[0]
616 decoded_preds = tokenizer.batch_decode(
617 preds, skip_special_tokens=False)
618 if data_args.ignore_pad_token_for_loss:
619 # Replace -100 in the labels as we can't decode them.
620 labels = np.where(labels != -100, labels, tokenizer.pad_token_id)
621 decoded_labels = tokenizer.batch_decode(
622 labels, skip_special_tokens=False)
623
624 def clean_str(x_str):
625 for to_remove_token in to_remove_token_list:
626 x_str = x_str.replace(to_remove_token, '')
627 return x_str.strip()
628
629 decoded_preds = [clean_str(x) for x in decoded_preds]
630 decoded_labels = [clean_str(x) for x in decoded_labels]
631
632 # Some simple post-processing
633 # decoded_preds, decoded_labels = postprocess_text(decoded_preds, decoded_labels)
634
635 # if metric_name == "rouge":
636 # result = metric.compute(predictions=decoded_preds, references=decoded_labels, use_stemmer=True)
637 # # Extract a few results from ROUGE
638 # result = {key: value.mid.fmeasure * 100 for key, value in result.items()}
639 # else:
640 # result = metric.compute(predictions=decoded_preds, references=decoded_labels)
641 # result = {"bleu": result["score"]}
642
643 result = get_extract_metrics(
644 pred_lns=decoded_preds,
645 tgt_lns=decoded_labels,
646 label_constraint=decoding_type_schema,
647 decoding_format=data_args.decoding_format,
648 )
649
650 prediction_lens = [np.count_nonzero(
651 pred != tokenizer.pad_token_id) for pred in preds]
652 result["gen_len"] = np.mean(prediction_lens)
653 result = {k: round(v, 4) for k, v in result.items()}
654 return result
655
656 # Initialize our Trainer
657 trainer = ConstraintSeq2SeqTrainer(

Callers

nothing calls this directly

Calls 2

get_extract_metricsFunction · 0.90
clean_strFunction · 0.85

Tested by

no test coverage detected