Skip to content

Instantly share code, notes, and snippets.

@bigsnarfdude
Last active April 13, 2024 17:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bigsnarfdude/c2b1499041aae11b2d28e8c23488376b to your computer and use it in GitHub Desktop.
Save bigsnarfdude/c2b1499041aae11b2d28e8c23488376b to your computer and use it in GitHub Desktop.
testing_perplexity.py
# https://huggingface.co/docs/transformers/perplexity
import datasets
import numpy as np
import torch
from torch.nn import CrossEntropyLoss
from transformers import AutoModelForCausalLM, AutoTokenizer
import evaluate
from evaluate import logging
perplexity = evaluate.load("perplexity", module_type="metric")
input_texts = ["lorem ipsum", "Happy Birthday!", "Bienvenue"]
results = perplexity.compute(model_id='gpt2',
add_start_token=False,
predictions=input_texts)
print(list(results.keys()))
print(round(results["mean_perplexity"], 0))
print(round(results["perplexities"][0], 0))
from datasets import load_dataset
perplexity = evaluate.load("perplexity", module_type="metric")
input_texts = load_dataset("wikitext", "wikitext-2-raw-v1", split="test")["text"]
input_texts = [s for s in input_texts if s!='']
results = perplexity.compute(model_id='gpt2',
predictions=input_texts)
print(list(results.keys()))
print(round(results["mean_perplexity"], 2))
print(round(results["perplexities"][0], 2))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment