Veritas-AI / evaluate.py
Aditya-Jadhav150
Initial commit: Veritas-AI Production Build
239017e
import torch
from torchvision import datasets, transforms
import timm
from torch.utils.data import DataLoader
from sklearn.metrics import classification_report
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
transform = transforms.Compose([
transforms.Resize((224, 224)),
transforms.ToTensor(),
transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])
])
test_data = datasets.ImageFolder("dataset/test", transform=transform)
test_loader = DataLoader(test_data, batch_size=32)
model = timm.create_model('efficientnet_b3', pretrained=False, num_classes=2)
model.load_state_dict(torch.load("model.pth", map_location=device, weights_only=True))
model = model.to(device)
model.eval()
y_true = []
y_pred = []
with torch.no_grad():
for images, labels in test_loader:
images = images.to(device)
outputs = model(images)
_, preds = torch.max(outputs, 1)
y_true.extend(labels.numpy())
y_pred.extend(preds.cpu().numpy())
print(classification_report(y_true, y_pred))