From 5259d4d90aa38aef3509f3ca94758e8a90527184 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 7 Jan 2026 09:15:00 +0000 Subject: [PATCH 1/4] Initial plan From 42d483b5d658ecb3a331eb7d4db01a41a6763d7c Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 7 Jan 2026 09:19:06 +0000 Subject: [PATCH 2/4] Add generator.transforms extraction to _save_debug_information() Co-authored-by: TaWald <34198766+TaWald@users.noreply.github.com> --- nnunetv2/training/nnUNetTrainer/nnUNetTrainer.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/nnunetv2/training/nnUNetTrainer/nnUNetTrainer.py b/nnunetv2/training/nnUNetTrainer/nnUNetTrainer.py index fb3aa5d28..eeae643b6 100644 --- a/nnunetv2/training/nnUNetTrainer/nnUNetTrainer.py +++ b/nnunetv2/training/nnUNetTrainer/nnUNetTrainer.py @@ -281,6 +281,11 @@ def _save_debug_information(self): if k in ['dataloader_train', 'dataloader_val']: if hasattr(getattr(self, k), 'generator'): dct[k + '.generator'] = str(getattr(self, k).generator) + if hasattr(getattr(self, k).generator, 'transforms'): + try: + dct[k + '.generator.transforms'] = str(getattr(self, k).generator.transforms) + except Exception as e: + dct[k + '.generator.transforms'] = f"Could not stringify generator.transforms: {e}" if hasattr(getattr(self, k), 'num_processes'): dct[k + '.num_processes'] = str(getattr(self, k).num_processes) if hasattr(getattr(self, k), 'transform'): From 4728a2ab843fbd0df95f9c7f15c052ea44841783 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 7 Jan 2026 09:20:23 +0000 Subject: [PATCH 3/4] Refactor to use local variable for better readability Co-authored-by: TaWald <34198766+TaWald@users.noreply.github.com> --- .../training/nnUNetTrainer/nnUNetTrainer.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/nnunetv2/training/nnUNetTrainer/nnUNetTrainer.py b/nnunetv2/training/nnUNetTrainer/nnUNetTrainer.py index eeae643b6..1cb1fe6c8 100644 --- a/nnunetv2/training/nnUNetTrainer/nnUNetTrainer.py +++ b/nnunetv2/training/nnUNetTrainer/nnUNetTrainer.py @@ -279,17 +279,18 @@ def _save_debug_information(self): # print(k) pass if k in ['dataloader_train', 'dataloader_val']: - if hasattr(getattr(self, k), 'generator'): - dct[k + '.generator'] = str(getattr(self, k).generator) - if hasattr(getattr(self, k).generator, 'transforms'): + dl = getattr(self, k) + if hasattr(dl, 'generator'): + dct[k + '.generator'] = str(dl.generator) + if hasattr(dl.generator, 'transforms'): try: - dct[k + '.generator.transforms'] = str(getattr(self, k).generator.transforms) + dct[k + '.generator.transforms'] = str(dl.generator.transforms) except Exception as e: dct[k + '.generator.transforms'] = f"Could not stringify generator.transforms: {e}" - if hasattr(getattr(self, k), 'num_processes'): - dct[k + '.num_processes'] = str(getattr(self, k).num_processes) - if hasattr(getattr(self, k), 'transform'): - dct[k + '.transform'] = str(getattr(self, k).transform) + if hasattr(dl, 'num_processes'): + dct[k + '.num_processes'] = str(dl.num_processes) + if hasattr(dl, 'transform'): + dct[k + '.transform'] = str(dl.transform) import subprocess hostname = subprocess.getoutput(['hostname']) dct['hostname'] = hostname From 83a21c0b3e925d7c12a98264fe1f9339bee61c37 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 7 Jan 2026 09:21:17 +0000 Subject: [PATCH 4/4] Improve error message to include exception type Co-authored-by: TaWald <34198766+TaWald@users.noreply.github.com> --- nnunetv2/training/nnUNetTrainer/nnUNetTrainer.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nnunetv2/training/nnUNetTrainer/nnUNetTrainer.py b/nnunetv2/training/nnUNetTrainer/nnUNetTrainer.py index 1cb1fe6c8..4b7813b1d 100644 --- a/nnunetv2/training/nnUNetTrainer/nnUNetTrainer.py +++ b/nnunetv2/training/nnUNetTrainer/nnUNetTrainer.py @@ -286,7 +286,7 @@ def _save_debug_information(self): try: dct[k + '.generator.transforms'] = str(dl.generator.transforms) except Exception as e: - dct[k + '.generator.transforms'] = f"Could not stringify generator.transforms: {e}" + dct[k + '.generator.transforms'] = f"Could not stringify generator.transforms: {type(e).__name__}: {e}" if hasattr(dl, 'num_processes'): dct[k + '.num_processes'] = str(dl.num_processes) if hasattr(dl, 'transform'):