GANDLF 0.1.3.dev20250217__tar.gz → 0.1.3.dev20250218__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.

Potentially problematic release.


This version of GANDLF might be problematic. Click here for more details.

Files changed (183) hide show
  1. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/cli/main_run.py +2 -0
  2. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/entrypoints/run.py +11 -0
  3. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/training_manager.py +28 -8
  4. gandlf-0.1.3.dev20250218/GANDLF/version.py +1 -0
  5. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF.egg-info/PKG-INFO +1 -1
  6. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/PKG-INFO +1 -1
  7. gandlf-0.1.3.dev20250217/GANDLF/version.py +0 -1
  8. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/.dockerignore +0 -0
  9. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/CODE_OF_CONDUCT.md +0 -0
  10. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/CONTRIBUTING.md +0 -0
  11. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/Dockerfile-CPU +0 -0
  12. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/Dockerfile-CUDA11.8 +0 -0
  13. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/Dockerfile-CUDA12.1 +0 -0
  14. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/Dockerfile-ROCm +0 -0
  15. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/__init__.py +0 -0
  16. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/anonymize/__init__.py +0 -0
  17. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/anonymize/convert_to_nifti.py +0 -0
  18. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/cli/__init__.py +0 -0
  19. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/cli/config_generator.py +0 -0
  20. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/cli/data_split_saver.py +0 -0
  21. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/cli/deploy.py +0 -0
  22. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/cli/generate_metrics.py +0 -0
  23. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/cli/huggingface_hub_handler.py +0 -0
  24. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/cli/patch_extraction.py +0 -0
  25. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/cli/post_training_model_optimization.py +0 -0
  26. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/cli/preprocess_and_save.py +0 -0
  27. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/cli/recover_config.py +0 -0
  28. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/compute/__init__.py +0 -0
  29. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/compute/forward_pass.py +0 -0
  30. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/compute/generic.py +0 -0
  31. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/compute/inference_loop.py +0 -0
  32. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/compute/loss_and_metric.py +0 -0
  33. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/compute/step.py +0 -0
  34. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/compute/training_loop.py +0 -0
  35. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/config_manager.py +0 -0
  36. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/data/ImagesFromDataFrame.py +0 -0
  37. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/data/__init__.py +0 -0
  38. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/data/augmentation/__init__.py +0 -0
  39. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/data/augmentation/blur_enhanced.py +0 -0
  40. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/data/augmentation/hed_augs.py +0 -0
  41. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/data/augmentation/noise_enhanced.py +0 -0
  42. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/data/augmentation/rgb_augs.py +0 -0
  43. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/data/augmentation/rotations.py +0 -0
  44. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/data/augmentation/wrap_torchio.py +0 -0
  45. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/data/inference_dataloader_histopath.py +0 -0
  46. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/data/patch_miner/__init__.py +0 -0
  47. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/data/patch_miner/opm/__init__.py +0 -0
  48. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/data/patch_miner/opm/patch.py +0 -0
  49. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/data/patch_miner/opm/patch_manager.py +0 -0
  50. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/data/patch_miner/opm/utils.py +0 -0
  51. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/data/post_process/__init__.py +0 -0
  52. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/data/post_process/morphology.py +0 -0
  53. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/data/post_process/tensor.py +0 -0
  54. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/data/preprocessing/__init__.py +0 -0
  55. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/data/preprocessing/crop_zero_planes.py +0 -0
  56. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/data/preprocessing/non_zero_normalize.py +0 -0
  57. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/data/preprocessing/normalize_rgb.py +0 -0
  58. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/data/preprocessing/resample_minimum.py +0 -0
  59. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/data/preprocessing/rgb_conversion.py +0 -0
  60. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/data/preprocessing/template_matching/__init__.py +0 -0
  61. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/data/preprocessing/template_matching/base.py +0 -0
  62. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/data/preprocessing/template_matching/histogram_matching.py +0 -0
  63. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/data/preprocessing/template_matching/stain_extractors.py +0 -0
  64. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/data/preprocessing/template_matching/stain_normalizer.py +0 -0
  65. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/data/preprocessing/template_matching/utils.py +0 -0
  66. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/data/preprocessing/threshold_and_clip.py +0 -0
  67. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/entrypoints/__init__.py +0 -0
  68. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/entrypoints/anonymizer.py +0 -0
  69. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/entrypoints/cli_tool.py +0 -0
  70. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/entrypoints/collect_stats.py +0 -0
  71. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/entrypoints/config_generator.py +0 -0
  72. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/entrypoints/construct_csv.py +0 -0
  73. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/entrypoints/debug_info.py +0 -0
  74. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/entrypoints/deploy.py +0 -0
  75. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/entrypoints/generate_metrics.py +0 -0
  76. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/entrypoints/hf_hub_integration.py +0 -0
  77. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/entrypoints/optimize_model.py +0 -0
  78. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/entrypoints/patch_miner.py +0 -0
  79. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/entrypoints/preprocess.py +0 -0
  80. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/entrypoints/recover_config.py +0 -0
  81. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/entrypoints/split_csv.py +0 -0
  82. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/entrypoints/subcommands.py +0 -0
  83. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/entrypoints/verify_install.py +0 -0
  84. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/grad_clipping/__init__.py +0 -0
  85. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/grad_clipping/adaptive_gradient_clipping.py +0 -0
  86. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/grad_clipping/clip_gradients.py +0 -0
  87. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/grad_clipping/grad_scaler.py +0 -0
  88. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/inference_manager.py +0 -0
  89. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/logger.py +0 -0
  90. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/logging_config.yaml +0 -0
  91. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/losses/__init__.py +0 -0
  92. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/losses/hybrid.py +0 -0
  93. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/losses/hybrid_new.py +0 -0
  94. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/losses/loss_interface.py +0 -0
  95. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/losses/regression.py +0 -0
  96. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/losses/regression_new.py +0 -0
  97. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/losses/segmentation.py +0 -0
  98. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/losses/segmentation_new.py +0 -0
  99. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/metrics/__init__.py +0 -0
  100. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/metrics/classification.py +0 -0
  101. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/metrics/generic.py +0 -0
  102. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/metrics/regression.py +0 -0
  103. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/metrics/segmentation.py +0 -0
  104. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/metrics/synthesis.py +0 -0
  105. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/models/MSDNet.py +0 -0
  106. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/models/__init__.py +0 -0
  107. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/models/brain_age.py +0 -0
  108. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/models/deep_unet.py +0 -0
  109. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/models/densenet.py +0 -0
  110. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/models/dynunet_wrapper.py +0 -0
  111. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/models/efficientnet.py +0 -0
  112. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/models/fcn.py +0 -0
  113. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/models/imagenet_unet.py +0 -0
  114. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/models/imagenet_vgg.py +0 -0
  115. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/models/light_unet.py +0 -0
  116. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/models/light_unet_multilayer.py +0 -0
  117. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/models/modelBase.py +0 -0
  118. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/models/resnet.py +0 -0
  119. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/models/sdnet.py +0 -0
  120. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/models/seg_modules/DecodingModule.py +0 -0
  121. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/models/seg_modules/DownsamplingModule.py +0 -0
  122. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/models/seg_modules/EncodingModule.py +0 -0
  123. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/models/seg_modules/FCNUpsamplingModule.py +0 -0
  124. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/models/seg_modules/IncConv.py +0 -0
  125. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/models/seg_modules/IncDownsamplingModule.py +0 -0
  126. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/models/seg_modules/IncDropout.py +0 -0
  127. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/models/seg_modules/IncUpsamplingModule.py +0 -0
  128. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/models/seg_modules/InceptionModule.py +0 -0
  129. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/models/seg_modules/InitialConv.py +0 -0
  130. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/models/seg_modules/Interpolate.py +0 -0
  131. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/models/seg_modules/ResNetModule.py +0 -0
  132. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/models/seg_modules/UpsamplingModule.py +0 -0
  133. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/models/seg_modules/__init__.py +0 -0
  134. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/models/seg_modules/add_conv_block.py +0 -0
  135. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/models/seg_modules/add_downsample_conv_block.py +0 -0
  136. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/models/seg_modules/average_pool.py +0 -0
  137. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/models/seg_modules/out_conv.py +0 -0
  138. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/models/transunet.py +0 -0
  139. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/models/uinc.py +0 -0
  140. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/models/unet.py +0 -0
  141. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/models/unet_multilayer.py +0 -0
  142. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/models/unetr.py +0 -0
  143. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/models/vgg.py +0 -0
  144. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/optimizers/__init__.py +0 -0
  145. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/optimizers/thirdparty/__init__.py +0 -0
  146. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/optimizers/thirdparty/ademamix.py +0 -0
  147. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/optimizers/thirdparty/adopt.py +0 -0
  148. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/optimizers/thirdparty/lion.py +0 -0
  149. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/optimizers/wrap_monai.py +0 -0
  150. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/optimizers/wrap_torch.py +0 -0
  151. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/parseConfig.py +0 -0
  152. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/privacy/__init__.py +0 -0
  153. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/privacy/opacus/__init__.py +0 -0
  154. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/privacy/opacus/config_parsing.py +0 -0
  155. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/privacy/opacus/model_handling.py +0 -0
  156. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/privacy/opacus/training_utils.py +0 -0
  157. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/schedulers/__init__.py +0 -0
  158. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/schedulers/wrap_monai.py +0 -0
  159. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/schedulers/wrap_torch.py +0 -0
  160. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/utils/__init__.py +0 -0
  161. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/utils/data_splitter.py +0 -0
  162. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/utils/exceptions.py +0 -0
  163. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/utils/gandlf_logging.py +0 -0
  164. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/utils/generic.py +0 -0
  165. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/utils/handle_collisions.py +0 -0
  166. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/utils/imaging.py +0 -0
  167. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/utils/modelbase.py +0 -0
  168. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/utils/modelio.py +0 -0
  169. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/utils/parameter_processing.py +0 -0
  170. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/utils/tensor.py +0 -0
  171. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF/utils/write_parse.py +0 -0
  172. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF.egg-info/SOURCES.txt +0 -0
  173. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF.egg-info/dependency_links.txt +0 -0
  174. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF.egg-info/entry_points.txt +0 -0
  175. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF.egg-info/not-zip-safe +0 -0
  176. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF.egg-info/requires.txt +0 -0
  177. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/GANDLF.egg-info/top_level.txt +0 -0
  178. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/LICENSE +0 -0
  179. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/MANIFEST.in +0 -0
  180. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/README.md +0 -0
  181. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/SECURITY.md +0 -0
  182. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/setup.cfg +0 -0
  183. {gandlf-0.1.3.dev20250217 → gandlf-0.1.3.dev20250218}/setup.py +0 -0
@@ -19,6 +19,7 @@ def main_run(
19
19
  device: str,
20
20
  resume: bool,
21
21
  reset: bool,
22
+ _profile: Optional[bool] = False,
22
23
  output_dir: Optional[str] = None,
23
24
  ) -> None:
24
25
  """
@@ -98,6 +99,7 @@ def main_run(
98
99
  device=device,
99
100
  resume=resume,
100
101
  reset=reset,
102
+ _profile=_profile,
101
103
  )
102
104
  else:
103
105
  data_full, headers = parseTrainingCSV(file_data_full, train=train_mode)
@@ -24,6 +24,7 @@ def _run(
24
24
  reset_flag: bool,
25
25
  resume_flag: bool,
26
26
  output_path: Optional[str],
27
+ _profile: Optional[bool] = False,
27
28
  ):
28
29
  if model_dir is None and output_path:
29
30
  model_dir = output_path
@@ -60,6 +61,7 @@ def _run(
60
61
  logging.debug(f"{reset_flag=}")
61
62
  logging.debug(f"{resume_flag=}")
62
63
  logging.debug(f"{output_path=}")
64
+ logging.debug(f"{_profile=}")
63
65
 
64
66
  main_run(
65
67
  data_csv=input_data,
@@ -70,6 +72,7 @@ def _run(
70
72
  resume=resume_flag,
71
73
  reset=reset_flag,
72
74
  output_dir=output_path,
75
+ _profile=_profile,
73
76
  )
74
77
  print("Finished.")
75
78
 
@@ -145,6 +148,12 @@ def _run(
145
148
  default=None,
146
149
  help="Output file which will contain the logs.",
147
150
  )
151
+ @click.option(
152
+ "--profile",
153
+ "-pf",
154
+ is_flag=True,
155
+ help="Track the run time and memory consumption for each layer",
156
+ )
148
157
  @append_copyright_to_help
149
158
  def new_way(
150
159
  config: str,
@@ -156,6 +165,7 @@ def new_way(
156
165
  resume: bool,
157
166
  output_path: str,
158
167
  raw_input: str,
168
+ profile: bool,
159
169
  log_file: str,
160
170
  ):
161
171
  """Semantic segmentation, regression, and classification for medical images using Deep Learning."""
@@ -170,6 +180,7 @@ def new_way(
170
180
  reset_flag=reset,
171
181
  resume_flag=resume,
172
182
  output_path=output_path,
183
+ _profile=profile,
173
184
  )
174
185
 
175
186
 
@@ -1,6 +1,7 @@
1
1
  import pandas as pd
2
2
  import os, pickle, shutil
3
3
  from pathlib import Path
4
+ from torch.profiler import profile, ProfilerActivity
4
5
 
5
6
  from GANDLF.compute import training_loop
6
7
  from GANDLF.utils import get_dataframe, split_data
@@ -145,6 +146,7 @@ def TrainingManager_split(
145
146
  device: str,
146
147
  resume: bool,
147
148
  reset: bool,
149
+ _profile: bool,
148
150
  ):
149
151
  """
150
152
  This is the training manager that ties all the training functionality together
@@ -158,6 +160,8 @@ def TrainingManager_split(
158
160
  device (str): The device to perform computations on.
159
161
  resume (bool): Whether the previous run will be resumed or not.
160
162
  reset (bool): Whether the previous run will be reset or not.
163
+ _profile(bool):Whether the we want the profile activity or not.
164
+
161
165
  """
162
166
  currentModelConfigPickle = os.path.join(outputDir, "parameters.pkl")
163
167
  currentModelConfigYaml = os.path.join(outputDir, "config.yaml")
@@ -178,11 +182,27 @@ def TrainingManager_split(
178
182
  with open(currentModelConfigYaml, "w") as handle:
179
183
  yaml.dump(parameters, handle, default_flow_style=False)
180
184
 
181
- training_loop(
182
- training_data=dataframe_train,
183
- validation_data=dataframe_validation,
184
- output_dir=outputDir,
185
- device=device,
186
- params=parameters,
187
- testing_data=dataframe_testing,
188
- )
185
+ if _profile:
186
+ with profile(
187
+ activities=[ProfilerActivity.CPU, ProfilerActivity.CUDA],
188
+ profile_memory=True,
189
+ record_shapes=True,
190
+ ) as prof:
191
+ training_loop(
192
+ training_data=dataframe_train,
193
+ validation_data=dataframe_validation,
194
+ output_dir=outputDir,
195
+ device=device,
196
+ params=parameters,
197
+ testing_data=dataframe_testing,
198
+ )
199
+ print(prof.key_averages().table(sort_by="cpu_time_total", row_limit=10))
200
+ else:
201
+ training_loop(
202
+ training_data=dataframe_train,
203
+ validation_data=dataframe_validation,
204
+ output_dir=outputDir,
205
+ device=device,
206
+ params=parameters,
207
+ testing_data=dataframe_testing,
208
+ )
@@ -0,0 +1 @@
1
+ __version__ = "0.1.3-dev20250218"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: GANDLF
3
- Version: 0.1.3.dev20250217
3
+ Version: 0.1.3.dev20250218
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
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: GANDLF
3
- Version: 0.1.3.dev20250217
3
+ Version: 0.1.3.dev20250218
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
@@ -1 +0,0 @@
1
- __version__ = "0.1.3-dev20250217"