File size: 1,130 Bytes
6e15199
e631481
2b3de4f
 
 
6e15199
 
 
 
 
2b3de4f
4939d74
 
6e15199
4939d74
6e15199
4939d74
e631481
2b3de4f
 
4939d74
2b3de4f
 
e631481
 
2b3de4f
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import torch
from transformers import pipeline, AutoModelForSequenceClassification
from datasets import load_dataset
from sklearn.metrics import accuracy_score, f1_score

# Load dataset (limit to 10 samples for faster evaluation)
dataset = load_dataset("allocine")["test"].select(range(10))

# Use GPU if available
device = 0 if torch.cuda.is_available() else -1

# Load model and tokenizer
model_path = "./models"
classifier = pipeline("text-classification", model=model_path, tokenizer=model_path, device=device)

# Load model to get dynamic label mapping
model = AutoModelForSequenceClassification.from_pretrained(model_path)
label_map = model.config.label2id  # Correct direct mapping {LABEL_X: int}

# Get predictions
predictions = [classifier(text["review"], truncation=True, max_length=512)[0]["label"] for text in dataset]
labels = dataset["label"]

# Convert labels (direct mapping)
predictions = [label_map[p] for p in predictions]  

# Compute metrics
accuracy = accuracy_score(labels, predictions)
f1 = f1_score(labels, predictions, average="weighted")

print(f"Accuracy: {accuracy:.4f}")
print(f"F1-score: {f1:.4f}")