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))