Views
No views yet
pip install transformers datasets evaluate torchCIS5190ml/Dataset. The dataset should have the following structure:titlelabelCIS5190ml/bert4.1git clone <repository-url>
2cd <repository-directory>jupyter notebook Evaluation_Pipeline.ipynb1from transformers import AutoTokenizer, AutoModelForSequenceClassification
2from datasets import load_dataset
3import evaluate
4import torch
5from torch.utils.data import DataLoader
6
7# Load model and tokenizer
8tokenizer = AutoTokenizer.from_pretrained("CIS5190ml/bert4")
9model = AutoModelForSequenceClassification.from_pretrained("CIS5190ml/bert4")
10
11# Load dataset
12ds = load_dataset("CIS5190ml/test_20_rows", split="train")
13
14# Preprocessing
15def preprocess_function(examples):
16 return tokenizer(examples["title"], truncation=True, padding="max_length")
17
18encoded_ds = ds.map(preprocess_function, batched=True)
19encoded_ds = encoded_ds.remove_columns([col for col in encoded_ds.column_names if col not in ["input_ids", "attention_mask", "label"]])
20encoded_ds.set_format("torch")
21
22# Create DataLoader
23test_loader = DataLoader(encoded_ds, batch_size=8)
24
25# Evaluate
26accuracy = evaluate.load("accuracy")
27model.eval()
28
29for batch in test_loader:
30 with torch.no_grad():
31 outputs = model(input_ids=batch["input_ids"], attention_mask=batch["attention_mask"])
32 preds = torch.argmax(outputs.logits, dim=-1)
33 accuracy.add_batch(predictions=preds, references=batch["label"])
34
35final_accuracy = accuracy.compute()
36print("Accuracy:", final_accuracy["accuracy"])Accuracy: 0.85evaluate.load() function in the notebook.