From 56c14bae9f69ef4446feec66de2b2f95f7b8d1a5 Mon Sep 17 00:00:00 2001 From: Varun Gopal Date: Wed, 6 May 2026 23:03:58 +0530 Subject: [PATCH] fix: resolve broken APIs, deprecated calls, and add requirements.txt in Classification_Transformers Fixes #191, #176 - Add task="multiclass" to torchmetrics accuracy and auroc calls (required since torchmetrics v0.11+) - Replace deprecated torch.has_mps with torch.backends.mps.is_built() - Remove deprecated verbose parameter from CosineAnnealingWarmRestarts (removed in recent PyTorch versions) - Add requirements.txt listing all dependencies for reproducibility --- .../eval.py | 6 +++--- .../requirements.txt | 10 ++++++++++ .../train.py | 2 +- .../utils.py | 2 +- 4 files changed, 15 insertions(+), 5 deletions(-) create mode 100644 DeepLense_Classification_Transformers_Archil_Srivastava/requirements.txt diff --git a/DeepLense_Classification_Transformers_Archil_Srivastava/eval.py b/DeepLense_Classification_Transformers_Archil_Srivastava/eval.py index a3f12b32..c468b91c 100644 --- a/DeepLense_Classification_Transformers_Archil_Srivastava/eval.py +++ b/DeepLense_Classification_Transformers_Archil_Srivastava/eval.py @@ -56,9 +56,9 @@ def evaluate(model, data_loader, loss_fn, device): # Concatenate all results logits, y = torch.cat(logits), torch.cat(y) loss.append(loss_fn(logits, y)) - accuracy.append(accuracy_fn(logits, y, num_classes=NUM_CLASSES)) - class_auroc.append(auroc_fn(logits, y, num_classes=NUM_CLASSES, average=None)) - macro_auroc.append(auroc_fn(logits, y, num_classes=NUM_CLASSES, average="macro")) + accuracy.append(accuracy_fn(logits, y, task="multiclass", num_classes=NUM_CLASSES)) + class_auroc.append(auroc_fn(logits, y, task="multiclass", num_classes=NUM_CLASSES, average=None)) + macro_auroc.append(auroc_fn(logits, y, task="multiclass", num_classes=NUM_CLASSES, average="macro")) result = { "ground_truth": y, diff --git a/DeepLense_Classification_Transformers_Archil_Srivastava/requirements.txt b/DeepLense_Classification_Transformers_Archil_Srivastava/requirements.txt new file mode 100644 index 00000000..3441b282 --- /dev/null +++ b/DeepLense_Classification_Transformers_Archil_Srivastava/requirements.txt @@ -0,0 +1,10 @@ +torch>=2.0.0 +torchvision>=0.15.0 +torchmetrics>=1.0.0 +timm>=0.9.0 +einops>=0.6.0 +wandb>=0.15.0 +numpy>=1.24.0 +matplotlib>=3.7.0 +scikit-learn>=1.2.0 +tqdm>=4.65.0 diff --git a/DeepLense_Classification_Transformers_Archil_Srivastava/train.py b/DeepLense_Classification_Transformers_Archil_Srivastava/train.py index a5a6303c..4b5e6d38 100644 --- a/DeepLense_Classification_Transformers_Archil_Srivastava/train.py +++ b/DeepLense_Classification_Transformers_Archil_Srivastava/train.py @@ -319,7 +319,7 @@ def train( # Scheduler if run_config.decay_lr: scheduler = CosineAnnealingWarmRestarts( - optimizer, T_0=15, T_mult=1, eta_min=1e-6, verbose=True + optimizer, T_0=15, T_mult=1, eta_min=1e-6 ) else: scheduler = None diff --git a/DeepLense_Classification_Transformers_Archil_Srivastava/utils.py b/DeepLense_Classification_Transformers_Archil_Srivastava/utils.py index 759d3fec..aeb97eb1 100644 --- a/DeepLense_Classification_Transformers_Archil_Srivastava/utils.py +++ b/DeepLense_Classification_Transformers_Archil_Srivastava/utils.py @@ -29,7 +29,7 @@ def get_device(device): return xm.xla_device() if (device == "cuda" or device == "best") and torch.cuda.is_available(): return "cuda" - if (device == "mps" or device == "best") and torch.has_mps: + if (device == "mps" or device == "best") and torch.backends.mps.is_built(): return "mps" if device == "cpu" or device == "best": return "cpu"