--- license: mit language: - en metrics: - glue pipeline_tag: text-classification --- Evaluate on MNLI: ```python from transformers import ( default_data_collator, AutoTokenizer, AutoModelForSequenceClassification, Trainer, ) from datasets import load_dataset import functools from utils import compute_metrics, preprocess_function model_name = "George-Ogden/gpt2-finetuned-mnli" model = AutoModelForSequenceClassification.from_pretrained(model_name) tokenizer = AutoTokenizer.from_pretrained(model_name) trainer = Trainer( model=model, eval_dataset="mnli", tokenizer=tokenizer, compute_metrics=compute_metrics, data_collator=default_data_collator, ) raw_datasets = load_dataset( "glue", "mnli", ).map(functools.partial(preprocess_function, tokenizer), batched=True) tasks = ["mnli", "mnli-mm"] eval_datasets = [ raw_datasets["validation_matched"], raw_datasets["validation_mismatched"], ] for layers in reversed(range(model.num_layers + 1)): for eval_dataset, task in zip(eval_datasets, tasks): metrics = trainer.evaluate(eval_dataset=eval_dataset) metrics["eval_samples"] = len(eval_dataset) if task == "mnli-mm": metrics = {k + "_mm": v for k, v in metrics.items()} trainer.log_metrics(metrics) ```