Spaces:
Sleeping
Sleeping
| import torch | |
| from sklearn.metrics import classification_report, confusion_matrix | |
| from src.model import TrashNetClassifier | |
| def evaluate_model(model_path, test_loader, class_names, device="cpu"): | |
| model = TrashNetClassifier() | |
| model.load_state_dict(torch.load(model_path, map_location=device)) | |
| 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.argmax(outputs, dim=1).cpu().tolist() | |
| y_pred.extend(preds) | |
| y_true.extend(labels.tolist()) | |
| print(classification_report(y_true, y_pred, target_names=class_names)) | |
| cm = confusion_matrix(y_true, y_pred) | |
| return cm | |