GANDLF 0.1.5.dev20250812__tar.gz → 0.1.5.dev20250814__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (206) hide show
  1. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/Dockerfile-CPU +1 -1
  2. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/Dockerfile-CUDA11.8 +1 -1
  3. gandlf-0.1.5.dev20250812/Dockerfile-CUDA12.1 → gandlf-0.1.5.dev20250814/Dockerfile-CUDA12.6 +2 -2
  4. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/Dockerfile-ROCm +2 -2
  5. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/configuration/default_config.py +1 -1
  6. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/configuration/scheduler_config.py +2 -0
  7. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/models/lightning_module.py +1 -1
  8. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/schedulers/__init__.py +5 -2
  9. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/schedulers/wrap_torch.py +15 -3
  10. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/utils/modelio.py +3 -1
  11. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/utils/tensor.py +2 -1
  12. gandlf-0.1.5.dev20250814/GANDLF/version.py +1 -0
  13. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF.egg-info/PKG-INFO +3 -3
  14. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF.egg-info/SOURCES.txt +1 -1
  15. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF.egg-info/requires.txt +2 -2
  16. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/PKG-INFO +3 -3
  17. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/setup.py +2 -2
  18. gandlf-0.1.5.dev20250812/GANDLF/version.py +0 -1
  19. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/.dockerignore +0 -0
  20. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/CODE_OF_CONDUCT.md +0 -0
  21. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/CONTRIBUTING.md +0 -0
  22. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/__init__.py +0 -0
  23. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/anonymize/__init__.py +0 -0
  24. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/anonymize/convert_to_nifti.py +0 -0
  25. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/cli/__init__.py +0 -0
  26. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/cli/config_generator.py +0 -0
  27. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/cli/data_split_saver.py +0 -0
  28. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/cli/deploy.py +0 -0
  29. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/cli/generate_metrics.py +0 -0
  30. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/cli/huggingface_hub_handler.py +0 -0
  31. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/cli/main_run.py +0 -0
  32. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/cli/patch_extraction.py +0 -0
  33. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/cli/post_training_model_optimization.py +0 -0
  34. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/cli/preprocess_and_save.py +0 -0
  35. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/cli/recover_config.py +0 -0
  36. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/compute/__init__.py +0 -0
  37. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/compute/forward_pass.py +0 -0
  38. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/compute/generic.py +0 -0
  39. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/compute/inference_loop.py +0 -0
  40. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/compute/loss_and_metric.py +0 -0
  41. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/compute/step.py +0 -0
  42. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/compute/training_loop.py +0 -0
  43. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/config_manager.py +0 -0
  44. {gandlf-0.1.5.dev20250812/GANDLF/privacy → gandlf-0.1.5.dev20250814/GANDLF/configuration}/__init__.py +0 -0
  45. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/configuration/differential_privacy_config.py +0 -0
  46. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/configuration/exclude_parameters.py +0 -0
  47. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/configuration/model_config.py +0 -0
  48. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/configuration/nested_training_config.py +0 -0
  49. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/configuration/optimizer_config.py +0 -0
  50. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/configuration/parameters_config.py +0 -0
  51. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/configuration/patch_sampler_config.py +0 -0
  52. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/configuration/post_processing_config.py +0 -0
  53. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/configuration/pre_processing_config.py +0 -0
  54. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/configuration/user_defined_config.py +0 -0
  55. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/configuration/utils.py +0 -0
  56. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/configuration/validators.py +0 -0
  57. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/data/ImagesFromDataFrame.py +0 -0
  58. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/data/__init__.py +0 -0
  59. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/data/augmentation/__init__.py +0 -0
  60. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/data/augmentation/blur_enhanced.py +0 -0
  61. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/data/augmentation/hed_augs.py +0 -0
  62. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/data/augmentation/noise_enhanced.py +0 -0
  63. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/data/augmentation/rgb_augs.py +0 -0
  64. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/data/augmentation/rotations.py +0 -0
  65. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/data/augmentation/wrap_torchio.py +0 -0
  66. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/data/inference_dataloader_histopath.py +0 -0
  67. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/data/lightning_datamodule.py +0 -0
  68. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/data/patch_miner/__init__.py +0 -0
  69. {gandlf-0.1.5.dev20250812/GANDLF/models/seg_modules → gandlf-0.1.5.dev20250814/GANDLF/data/patch_miner/opm}/__init__.py +0 -0
  70. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/data/patch_miner/opm/patch.py +0 -0
  71. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/data/patch_miner/opm/patch_manager.py +0 -0
  72. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/data/patch_miner/opm/utils.py +0 -0
  73. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/data/post_process/__init__.py +0 -0
  74. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/data/post_process/morphology.py +0 -0
  75. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/data/post_process/tensor.py +0 -0
  76. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/data/preprocessing/__init__.py +0 -0
  77. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/data/preprocessing/crop_zero_planes.py +0 -0
  78. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/data/preprocessing/non_zero_normalize.py +0 -0
  79. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/data/preprocessing/normalize_rgb.py +0 -0
  80. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/data/preprocessing/resample_minimum.py +0 -0
  81. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/data/preprocessing/rgb_conversion.py +0 -0
  82. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/data/preprocessing/template_matching/__init__.py +0 -0
  83. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/data/preprocessing/template_matching/base.py +0 -0
  84. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/data/preprocessing/template_matching/histogram_matching.py +0 -0
  85. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/data/preprocessing/template_matching/stain_extractors.py +0 -0
  86. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/data/preprocessing/template_matching/stain_normalizer.py +0 -0
  87. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/data/preprocessing/template_matching/utils.py +0 -0
  88. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/data/preprocessing/threshold_and_clip.py +0 -0
  89. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/entrypoints/__init__.py +0 -0
  90. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/entrypoints/anonymizer.py +0 -0
  91. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/entrypoints/cli_tool.py +0 -0
  92. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/entrypoints/collect_stats.py +0 -0
  93. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/entrypoints/config_generator.py +0 -0
  94. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/entrypoints/construct_csv.py +0 -0
  95. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/entrypoints/debug_info.py +0 -0
  96. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/entrypoints/deploy.py +0 -0
  97. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/entrypoints/generate_metrics.py +0 -0
  98. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/entrypoints/hf_hub_integration.py +0 -0
  99. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/entrypoints/optimize_model.py +0 -0
  100. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/entrypoints/patch_miner.py +0 -0
  101. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/entrypoints/preprocess.py +0 -0
  102. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/entrypoints/recover_config.py +0 -0
  103. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/entrypoints/run.py +0 -0
  104. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/entrypoints/split_csv.py +0 -0
  105. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/entrypoints/subcommands.py +0 -0
  106. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/entrypoints/verify_install.py +0 -0
  107. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/grad_clipping/__init__.py +0 -0
  108. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/grad_clipping/adaptive_gradient_clipping.py +0 -0
  109. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/grad_clipping/clip_gradients.py +0 -0
  110. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/grad_clipping/grad_scaler.py +0 -0
  111. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/inference_manager.py +0 -0
  112. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/logger.py +0 -0
  113. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/logging_config.yaml +0 -0
  114. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/losses/__init__.py +0 -0
  115. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/losses/hybrid.py +0 -0
  116. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/losses/hybrid_new.py +0 -0
  117. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/losses/loss_calculators.py +0 -0
  118. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/losses/loss_interface.py +0 -0
  119. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/losses/regression.py +0 -0
  120. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/losses/regression_new.py +0 -0
  121. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/losses/segmentation.py +0 -0
  122. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/losses/segmentation_new.py +0 -0
  123. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/metrics/__init__.py +0 -0
  124. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/metrics/classification.py +0 -0
  125. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/metrics/generic.py +0 -0
  126. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/metrics/metric_calculators.py +0 -0
  127. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/metrics/panoptica_config_brats.yaml +0 -0
  128. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/metrics/regression.py +0 -0
  129. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/metrics/segmentation.py +0 -0
  130. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/metrics/segmentation_panoptica.py +0 -0
  131. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/metrics/synthesis.py +0 -0
  132. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/models/MSDNet.py +0 -0
  133. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/models/__init__.py +0 -0
  134. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/models/brain_age.py +0 -0
  135. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/models/deep_unet.py +0 -0
  136. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/models/densenet.py +0 -0
  137. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/models/dynunet_wrapper.py +0 -0
  138. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/models/efficientnet.py +0 -0
  139. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/models/fcn.py +0 -0
  140. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/models/imagenet_unet.py +0 -0
  141. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/models/imagenet_vgg.py +0 -0
  142. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/models/light_unet.py +0 -0
  143. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/models/light_unet_multilayer.py +0 -0
  144. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/models/modelBase.py +0 -0
  145. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/models/resnet.py +0 -0
  146. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/models/sdnet.py +0 -0
  147. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/models/seg_modules/DecodingModule.py +0 -0
  148. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/models/seg_modules/DownsamplingModule.py +0 -0
  149. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/models/seg_modules/EncodingModule.py +0 -0
  150. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/models/seg_modules/FCNUpsamplingModule.py +0 -0
  151. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/models/seg_modules/IncConv.py +0 -0
  152. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/models/seg_modules/IncDownsamplingModule.py +0 -0
  153. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/models/seg_modules/IncDropout.py +0 -0
  154. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/models/seg_modules/IncUpsamplingModule.py +0 -0
  155. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/models/seg_modules/InceptionModule.py +0 -0
  156. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/models/seg_modules/InitialConv.py +0 -0
  157. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/models/seg_modules/Interpolate.py +0 -0
  158. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/models/seg_modules/ResNetModule.py +0 -0
  159. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/models/seg_modules/UpsamplingModule.py +0 -0
  160. {gandlf-0.1.5.dev20250812/GANDLF/data/patch_miner/opm → gandlf-0.1.5.dev20250814/GANDLF/models/seg_modules}/__init__.py +0 -0
  161. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/models/seg_modules/add_conv_block.py +0 -0
  162. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/models/seg_modules/add_downsample_conv_block.py +0 -0
  163. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/models/seg_modules/average_pool.py +0 -0
  164. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/models/seg_modules/out_conv.py +0 -0
  165. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/models/transunet.py +0 -0
  166. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/models/uinc.py +0 -0
  167. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/models/unet.py +0 -0
  168. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/models/unet_multilayer.py +0 -0
  169. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/models/unetr.py +0 -0
  170. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/models/vgg.py +0 -0
  171. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/optimizers/__init__.py +0 -0
  172. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/optimizers/thirdparty/__init__.py +0 -0
  173. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/optimizers/thirdparty/ademamix.py +0 -0
  174. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/optimizers/thirdparty/adopt.py +0 -0
  175. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/optimizers/thirdparty/lion.py +0 -0
  176. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/optimizers/wrap_monai.py +0 -0
  177. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/optimizers/wrap_torch.py +0 -0
  178. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/parseConfig.py +0 -0
  179. {gandlf-0.1.5.dev20250812/GANDLF/configuration → gandlf-0.1.5.dev20250814/GANDLF/privacy}/__init__.py +0 -0
  180. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/privacy/opacus/__init__.py +0 -0
  181. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/privacy/opacus/config_parsing.py +0 -0
  182. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/privacy/opacus/model_handling.py +0 -0
  183. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/privacy/opacus/opacus_anonymization_manager.py +0 -0
  184. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/privacy/opacus/training_utils.py +0 -0
  185. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/schedulers/wrap_monai.py +0 -0
  186. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/training_manager.py +0 -0
  187. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/utils/__init__.py +0 -0
  188. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/utils/data_splitter.py +0 -0
  189. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/utils/exceptions.py +0 -0
  190. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/utils/gandlf_logging.py +0 -0
  191. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/utils/generic.py +0 -0
  192. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/utils/handle_collisions.py +0 -0
  193. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/utils/imaging.py +0 -0
  194. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/utils/modelbase.py +0 -0
  195. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/utils/parameter_processing.py +0 -0
  196. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/utils/pred_target_processors.py +0 -0
  197. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF/utils/write_parse.py +0 -0
  198. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF.egg-info/dependency_links.txt +0 -0
  199. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF.egg-info/entry_points.txt +0 -0
  200. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF.egg-info/not-zip-safe +0 -0
  201. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/GANDLF.egg-info/top_level.txt +0 -0
  202. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/LICENSE +0 -0
  203. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/MANIFEST.in +0 -0
  204. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/README.md +0 -0
  205. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/SECURITY.md +0 -0
  206. {gandlf-0.1.5.dev20250812 → gandlf-0.1.5.dev20250814}/setup.cfg +0 -0
@@ -19,7 +19,7 @@ RUN apt-get install -y libjpeg8-dev zlib1g-dev libffi-dev libgl1
19
19
  # fix pip version because of weird PyYAML issue
20
20
  RUN python3.11 -m pip install --upgrade pip
21
21
  # EXPLICITLY install cpu versions of torch/torchvision (not all versions have +cpu modes on PyPI...)
22
- RUN python3.11 -m pip install torch==2.5.0 torchvision==0.20.0 torchaudio==2.5.0 --index-url https://download.pytorch.org/whl/cpu
22
+ RUN python3.11 -m pip install torch==2.7.1 torchvision==0.22.1 torchaudio==2.7.1 --index-url https://download.pytorch.org/whl/cpu
23
23
  RUN python3.11 -m pip install openvino-dev opencv-python-headless
24
24
 
25
25
  # Do some dependency installation separately here to make layer caching more efficient
@@ -21,7 +21,7 @@ RUN apt install -y python3-pip
21
21
  RUN apt-get install -y libjpeg8-dev zlib1g-dev libffi-dev libgl1
22
22
  # fix pip version because of weird PyYAML issue
23
23
  RUN python3.11 -m pip install --upgrade pip
24
- RUN python3.11 -m pip install torch==2.5.0 torchvision==0.20.0 torchaudio==2.5.0 --index-url https://download.pytorch.org/whl/cu118
24
+ RUN python3.11 -m pip install torch==2.7.1 torchvision==0.22.1 torchaudio==2.7.1 --index-url https://download.pytorch.org/whl/cu118
25
25
  RUN python3.11 -m pip install openvino-dev opencv-python-headless
26
26
 
27
27
  # Do some dependency installation separately here to make layer caching more efficient
@@ -1,4 +1,4 @@
1
- FROM nvidia/cuda:12.1.0-devel-ubuntu22.04
1
+ FROM nvidia/cuda:12.6.3-cudnn-devel-ubuntu22.04
2
2
  LABEL github="https://github.com/mlcommons/GaNDLF"
3
3
  LABEL docs="https://mlcommons.github.io/GaNDLF/"
4
4
  LABEL version=1.0
@@ -21,7 +21,7 @@ RUN apt install -y python3-pip
21
21
  RUN apt-get install -y libjpeg8-dev zlib1g-dev libffi-dev libgl1
22
22
  # fix pip version because of weird PyYAML issue
23
23
  RUN python3.11 -m pip install --upgrade pip
24
- RUN python3.11 -m pip install torch==2.5.0 torchvision==0.20.0 torchaudio==2.5.0 --index-url https://download.pytorch.org/whl/cu121
24
+ RUN python3.11 -m pip install torch==2.7.1 torchvision==0.22.1 torchaudio==2.7.1 --index-url https://download.pytorch.org/whl/cu126
25
25
  RUN python3.11 -m pip install openvino-dev opencv-python-headless
26
26
 
27
27
  # Do some dependency installation separately here to make layer caching more efficient
@@ -1,4 +1,4 @@
1
- FROM rocm/pytorch:rocm6.1_ubuntu22.04_py3.10_pytorch_2.4
1
+ FROM rocm/pytorch:rocm6.3.4_ubuntu22.04_py3.10_pytorch_release_2.4.0
2
2
  LABEL github="https://github.com/mlcommons/GaNDLF"
3
3
  LABEL docs="https://mlcommons.github.io/GaNDLF/"
4
4
  LABEL version=1.0
@@ -19,7 +19,7 @@ RUN apt install -y python3-pip
19
19
  RUN apt-get install -y python3.11 python3-pip libjpeg8-dev zlib1g-dev python3-dev libpython3.11-dev libffi-dev libgl1
20
20
  # fix pip version because of weird PyYAML issue
21
21
  RUN python3.11 -m pip install --upgrade pip
22
- RUN python3.11 -m pip install torch==2.5.0 torchvision==0.20.0 torchaudio==2.5.0 --index-url https://download.pytorch.org/whl/rocm6.1
22
+ RUN python3.11 -m pip install torch==2.7.1 torchvision==0.22.1 torchaudio==2.7.1 --index-url https://download.pytorch.org/whl/rocm6.3
23
23
  RUN python3.11 -m pip install openvino-dev opencv-python-headless
24
24
 
25
25
  # Do some dependency installation separately here to make layer caching more efficient
@@ -34,7 +34,7 @@ class DefaultParameters(BaseModel):
34
34
  default=10, description="Number of samples per volume."
35
35
  )
36
36
  q_num_workers: int = Field(
37
- default=4, description="Number of worker threads to use."
37
+ default=0, description="Number of worker threads to use."
38
38
  )
39
39
  num_epochs: int = Field(default=100, description="Total number of epochs to train.")
40
40
  patience: int = Field(
@@ -84,7 +84,9 @@ schedulers_dict_config = {
84
84
  "reduce-on-plateau": ReduceOnPlateauConfig,
85
85
  "plateau": ReduceOnPlateauConfig,
86
86
  "reduceonplateau": ReduceOnPlateauConfig,
87
+ "cosineannealingwarmrestarts": CosineannealingConfig,
87
88
  "cosineannealing": CosineannealingConfig,
89
+ "cosineannealinglr": CosineannealingConfig,
88
90
  "warmupcosineschedule": WarmupcosinescheduleConfig,
89
91
  "wcs": WarmupcosinescheduleConfig,
90
92
  }
@@ -1713,7 +1713,7 @@ class GandlfLightningModule(pl.LightningModule):
1713
1713
  print(f"Previous latest model loaded from {self.model_paths['latest']}.")
1714
1714
  else:
1715
1715
  raise RuntimeError(
1716
- "No model found to load. Please train the model before running inference."
1716
+ f"Best/latest models not found to load: {self.model_paths}"
1717
1717
  )
1718
1718
 
1719
1719
  @rank_zero_only
@@ -6,7 +6,8 @@ from .wrap_torch import (
6
6
  exp,
7
7
  step,
8
8
  reduce_on_plateau,
9
- cosineannealing,
9
+ cosineannealingwarmrestarts,
10
+ cosineannealingLR,
10
11
  )
11
12
 
12
13
  from .wrap_monai import warmupcosineschedule
@@ -24,7 +25,9 @@ global_schedulers_dict = {
24
25
  "reduce-on-plateau": reduce_on_plateau,
25
26
  "plateau": reduce_on_plateau,
26
27
  "reduceonplateau": reduce_on_plateau,
27
- "cosineannealing": cosineannealing,
28
+ "cosineannealing": cosineannealingwarmrestarts,
29
+ "cosineannealingwarmrestarts": cosineannealingwarmrestarts,
30
+ "cosineannealinglr": cosineannealingLR,
28
31
  "warmupcosineschedule": warmupcosineschedule,
29
32
  "wcs": warmupcosineschedule,
30
33
  }
@@ -5,6 +5,7 @@ from torch.optim.lr_scheduler import (
5
5
  StepLR,
6
6
  ReduceLROnPlateau,
7
7
  CosineAnnealingWarmRestarts,
8
+ CosineAnnealingLR,
8
9
  )
9
10
  import math
10
11
 
@@ -169,14 +170,25 @@ def reduce_on_plateau(parameters):
169
170
  )
170
171
 
171
172
 
172
- def cosineannealing(parameters):
173
+ def cosineannealingwarmrestarts(parameters):
173
174
  parameters["scheduler"]["T_0"] = parameters["scheduler"].get("T_0", 5)
174
175
  parameters["scheduler"]["T_mult"] = parameters["scheduler"].get("T_mult", 1)
175
- parameters["scheduler"]["min_lr"] = parameters["scheduler"].get("min_lr", 0.001)
176
+ parameters["scheduler"]["eta_min"] = parameters["scheduler"].get("eta_min", 0.001)
176
177
 
177
178
  return CosineAnnealingWarmRestarts(
178
179
  parameters["optimizer_object"],
179
180
  T_0=parameters["scheduler"]["T_0"],
180
181
  T_mult=parameters["scheduler"]["T_mult"],
181
- eta_min=parameters["scheduler"]["min_lr"],
182
+ eta_min=parameters["scheduler"]["eta_min"],
183
+ )
184
+
185
+
186
+ def cosineannealingLR(parameters):
187
+ parameters["scheduler"]["T_max"] = parameters["scheduler"].get("T_max", 50)
188
+ parameters["scheduler"]["eta_min"] = parameters["scheduler"].get("eta_min", 0.001)
189
+
190
+ return CosineAnnealingLR(
191
+ parameters["optimizer_object"],
192
+ T_max=parameters["scheduler"]["T_max"],
193
+ eta_min=parameters["scheduler"]["eta_min"],
182
194
  )
@@ -175,7 +175,9 @@ def load_model(
175
175
  Returns:
176
176
  dict: Model dictionary containing model parameters and metadata.
177
177
  """
178
- model_dict = torch.load(path, map_location=device)
178
+ # For PyTorch 2.7+, use weights_only=False to maintain backward compatibility
179
+ # This prevents the new security warning in PyTorch 2.7+
180
+ model_dict = torch.load(path, map_location=device, weights_only=False)
179
181
 
180
182
  # check if the model dictionary is complete
181
183
  if full_sanity_check:
@@ -290,7 +290,8 @@ def get_class_imbalance_weights_classification(
290
290
  np.fromiter(penalty_dict.values(), dtype=np.float64).sum()
291
291
  + sys.float_info.epsilon
292
292
  )
293
- for i in range(params["model"]["num_classes"]):
293
+ # Only normalize penalties for classes that actually exist in penalty_dict
294
+ for i in penalty_dict.keys():
294
295
  penalty_dict[i] /= penalty_sum
295
296
 
296
297
  # passing None for sampling_weights because there is no clear way to calculate this for classification tasks which do not have a label
@@ -0,0 +1 @@
1
+ __version__ = "0.1.5-dev20250814"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: GANDLF
3
- Version: 0.1.5.dev20250812
3
+ Version: 0.1.5.dev20250814
4
4
  Summary: PyTorch-based framework that handles segmentation/regression/classification using various DL architectures for medical imaging.
5
5
  Author: MLCommons
6
6
  Author-email: gandlf@mlcommons.org
@@ -18,9 +18,9 @@ Classifier: Topic :: Scientific/Engineering :: Medical Science Apps.
18
18
  Requires-Python: >3.9, <3.13
19
19
  Description-Content-Type: text/markdown
20
20
  License-File: LICENSE
21
- Requires-Dist: torch==2.5.0
21
+ Requires-Dist: torch==2.7.1
22
22
  Requires-Dist: black==23.11.0
23
- Requires-Dist: lightning==2.4.0
23
+ Requires-Dist: lightning==2.5.2
24
24
  Requires-Dist: numpy==1.26.4
25
25
  Requires-Dist: scipy
26
26
  Requires-Dist: SimpleITK!=2.0.*
@@ -3,7 +3,7 @@ CODE_OF_CONDUCT.md
3
3
  CONTRIBUTING.md
4
4
  Dockerfile-CPU
5
5
  Dockerfile-CUDA11.8
6
- Dockerfile-CUDA12.1
6
+ Dockerfile-CUDA12.6
7
7
  Dockerfile-ROCm
8
8
  LICENSE
9
9
  MANIFEST.in
@@ -1,6 +1,6 @@
1
- torch==2.5.0
1
+ torch==2.7.1
2
2
  black==23.11.0
3
- lightning==2.4.0
3
+ lightning==2.5.2
4
4
  numpy==1.26.4
5
5
  scipy
6
6
  SimpleITK!=2.0.*
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: GANDLF
3
- Version: 0.1.5.dev20250812
3
+ Version: 0.1.5.dev20250814
4
4
  Summary: PyTorch-based framework that handles segmentation/regression/classification using various DL architectures for medical imaging.
5
5
  Author: MLCommons
6
6
  Author-email: gandlf@mlcommons.org
@@ -18,9 +18,9 @@ Classifier: Topic :: Scientific/Engineering :: Medical Science Apps.
18
18
  Requires-Python: >3.9, <3.13
19
19
  Description-Content-Type: text/markdown
20
20
  License-File: LICENSE
21
- Requires-Dist: torch==2.5.0
21
+ Requires-Dist: torch==2.7.1
22
22
  Requires-Dist: black==23.11.0
23
- Requires-Dist: lightning==2.4.0
23
+ Requires-Dist: lightning==2.5.2
24
24
  Requires-Dist: numpy==1.26.4
25
25
  Requires-Dist: scipy
26
26
  Requires-Dist: SimpleITK!=2.0.*
@@ -38,9 +38,9 @@ toplevel_package_excludes = ["testing*"]
38
38
  # specifying version for `black` separately because it is also used to [check for lint](https://github.com/mlcommons/GaNDLF/blob/master/.github/workflows/black.yml)
39
39
  black_version = "23.11.0"
40
40
  requirements = [
41
- "torch==2.5.0",
41
+ "torch==2.7.1",
42
42
  f"black=={black_version}",
43
- "lightning==2.4.0",
43
+ "lightning==2.5.2",
44
44
  "numpy==1.26.4",
45
45
  "scipy",
46
46
  "SimpleITK!=2.0.*",
@@ -1 +0,0 @@
1
- __version__ = "0.1.5-dev20250812"