GANDLF 0.1.4.dev20250708__tar.gz → 0.1.5__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.
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/Dockerfile-CPU +1 -1
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/Dockerfile-CUDA11.8 +1 -1
- gandlf-0.1.4.dev20250708/Dockerfile-CUDA12.1 → gandlf-0.1.5/Dockerfile-CUDA12.6 +2 -2
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/Dockerfile-ROCm +2 -2
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/configuration/default_config.py +1 -1
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/configuration/scheduler_config.py +2 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/metrics/segmentation_panoptica.py +4 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/models/lightning_module.py +1 -1
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/schedulers/__init__.py +5 -2
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/schedulers/wrap_torch.py +15 -3
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/utils/modelio.py +3 -1
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/utils/tensor.py +2 -1
- gandlf-0.1.5/GANDLF/version.py +5 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF.egg-info/PKG-INFO +3 -3
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF.egg-info/SOURCES.txt +1 -1
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF.egg-info/requires.txt +2 -2
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/PKG-INFO +3 -3
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/setup.py +2 -2
- gandlf-0.1.4.dev20250708/GANDLF/version.py +0 -1
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/.dockerignore +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/CODE_OF_CONDUCT.md +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/CONTRIBUTING.md +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/__init__.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/anonymize/__init__.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/anonymize/convert_to_nifti.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/cli/__init__.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/cli/config_generator.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/cli/data_split_saver.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/cli/deploy.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/cli/generate_metrics.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/cli/huggingface_hub_handler.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/cli/main_run.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/cli/patch_extraction.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/cli/post_training_model_optimization.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/cli/preprocess_and_save.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/cli/recover_config.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/compute/__init__.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/compute/forward_pass.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/compute/generic.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/compute/inference_loop.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/compute/loss_and_metric.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/compute/step.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/compute/training_loop.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/config_manager.py +0 -0
- {gandlf-0.1.4.dev20250708/GANDLF/privacy → gandlf-0.1.5/GANDLF/configuration}/__init__.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/configuration/differential_privacy_config.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/configuration/exclude_parameters.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/configuration/model_config.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/configuration/nested_training_config.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/configuration/optimizer_config.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/configuration/parameters_config.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/configuration/patch_sampler_config.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/configuration/post_processing_config.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/configuration/pre_processing_config.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/configuration/user_defined_config.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/configuration/utils.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/configuration/validators.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/data/ImagesFromDataFrame.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/data/__init__.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/data/augmentation/__init__.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/data/augmentation/blur_enhanced.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/data/augmentation/hed_augs.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/data/augmentation/noise_enhanced.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/data/augmentation/rgb_augs.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/data/augmentation/rotations.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/data/augmentation/wrap_torchio.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/data/inference_dataloader_histopath.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/data/lightning_datamodule.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/data/patch_miner/__init__.py +0 -0
- {gandlf-0.1.4.dev20250708/GANDLF/models/seg_modules → gandlf-0.1.5/GANDLF/data/patch_miner/opm}/__init__.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/data/patch_miner/opm/patch.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/data/patch_miner/opm/patch_manager.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/data/patch_miner/opm/utils.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/data/post_process/__init__.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/data/post_process/morphology.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/data/post_process/tensor.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/data/preprocessing/__init__.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/data/preprocessing/crop_zero_planes.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/data/preprocessing/non_zero_normalize.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/data/preprocessing/normalize_rgb.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/data/preprocessing/resample_minimum.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/data/preprocessing/rgb_conversion.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/data/preprocessing/template_matching/__init__.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/data/preprocessing/template_matching/base.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/data/preprocessing/template_matching/histogram_matching.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/data/preprocessing/template_matching/stain_extractors.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/data/preprocessing/template_matching/stain_normalizer.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/data/preprocessing/template_matching/utils.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/data/preprocessing/threshold_and_clip.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/entrypoints/__init__.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/entrypoints/anonymizer.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/entrypoints/cli_tool.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/entrypoints/collect_stats.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/entrypoints/config_generator.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/entrypoints/construct_csv.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/entrypoints/debug_info.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/entrypoints/deploy.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/entrypoints/generate_metrics.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/entrypoints/hf_hub_integration.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/entrypoints/optimize_model.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/entrypoints/patch_miner.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/entrypoints/preprocess.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/entrypoints/recover_config.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/entrypoints/run.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/entrypoints/split_csv.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/entrypoints/subcommands.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/entrypoints/verify_install.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/grad_clipping/__init__.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/grad_clipping/adaptive_gradient_clipping.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/grad_clipping/clip_gradients.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/grad_clipping/grad_scaler.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/inference_manager.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/logger.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/logging_config.yaml +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/losses/__init__.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/losses/hybrid.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/losses/hybrid_new.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/losses/loss_calculators.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/losses/loss_interface.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/losses/regression.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/losses/regression_new.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/losses/segmentation.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/losses/segmentation_new.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/metrics/__init__.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/metrics/classification.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/metrics/generic.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/metrics/metric_calculators.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/metrics/panoptica_config_brats.yaml +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/metrics/regression.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/metrics/segmentation.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/metrics/synthesis.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/models/MSDNet.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/models/__init__.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/models/brain_age.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/models/deep_unet.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/models/densenet.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/models/dynunet_wrapper.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/models/efficientnet.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/models/fcn.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/models/imagenet_unet.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/models/imagenet_vgg.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/models/light_unet.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/models/light_unet_multilayer.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/models/modelBase.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/models/resnet.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/models/sdnet.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/models/seg_modules/DecodingModule.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/models/seg_modules/DownsamplingModule.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/models/seg_modules/EncodingModule.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/models/seg_modules/FCNUpsamplingModule.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/models/seg_modules/IncConv.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/models/seg_modules/IncDownsamplingModule.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/models/seg_modules/IncDropout.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/models/seg_modules/IncUpsamplingModule.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/models/seg_modules/InceptionModule.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/models/seg_modules/InitialConv.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/models/seg_modules/Interpolate.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/models/seg_modules/ResNetModule.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/models/seg_modules/UpsamplingModule.py +0 -0
- {gandlf-0.1.4.dev20250708/GANDLF/data/patch_miner/opm → gandlf-0.1.5/GANDLF/models/seg_modules}/__init__.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/models/seg_modules/add_conv_block.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/models/seg_modules/add_downsample_conv_block.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/models/seg_modules/average_pool.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/models/seg_modules/out_conv.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/models/transunet.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/models/uinc.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/models/unet.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/models/unet_multilayer.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/models/unetr.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/models/vgg.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/optimizers/__init__.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/optimizers/thirdparty/__init__.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/optimizers/thirdparty/ademamix.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/optimizers/thirdparty/adopt.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/optimizers/thirdparty/lion.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/optimizers/wrap_monai.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/optimizers/wrap_torch.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/parseConfig.py +0 -0
- {gandlf-0.1.4.dev20250708/GANDLF/configuration → gandlf-0.1.5/GANDLF/privacy}/__init__.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/privacy/opacus/__init__.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/privacy/opacus/config_parsing.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/privacy/opacus/model_handling.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/privacy/opacus/opacus_anonymization_manager.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/privacy/opacus/training_utils.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/schedulers/wrap_monai.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/training_manager.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/utils/__init__.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/utils/data_splitter.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/utils/exceptions.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/utils/gandlf_logging.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/utils/generic.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/utils/handle_collisions.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/utils/imaging.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/utils/modelbase.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/utils/parameter_processing.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/utils/pred_target_processors.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/utils/write_parse.py +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF.egg-info/dependency_links.txt +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF.egg-info/entry_points.txt +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF.egg-info/not-zip-safe +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF.egg-info/top_level.txt +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/LICENSE +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/MANIFEST.in +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/README.md +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/SECURITY.md +0 -0
- {gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/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.
|
|
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.
|
|
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
|
+
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.
|
|
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
|
+
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.
|
|
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=
|
|
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
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
from pathlib import Path
|
|
2
|
+
import os
|
|
2
3
|
|
|
3
4
|
from typing import Optional
|
|
4
5
|
import numpy as np
|
|
@@ -19,12 +20,15 @@ def generate_instance_segmentation(
|
|
|
19
20
|
prediction (np.ndarray): The input prediction containing objects.
|
|
20
21
|
label_path (str): The path to the reference label.
|
|
21
22
|
target (np.ndarray): The input target containing objects.
|
|
23
|
+
parameters (dict): The GaNDLF parameters from which panoptica config is to be extracted.
|
|
22
24
|
panoptica_config_path (str): The path to the Panoptica configuration file.
|
|
23
25
|
|
|
24
26
|
Returns:
|
|
25
27
|
dict: The evaluation results.
|
|
26
28
|
"""
|
|
27
29
|
|
|
30
|
+
os.environ["PANOPTICA_CITATION_REMINDER"] = "False"
|
|
31
|
+
|
|
28
32
|
# the parameters dict takes precedence over the panoptica_config_path
|
|
29
33
|
evaluator = parameters.get("panoptica_config", None)
|
|
30
34
|
if evaluator is None:
|
|
@@ -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
|
-
"
|
|
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
|
-
|
|
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":
|
|
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
|
|
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"]["
|
|
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"]["
|
|
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
|
-
|
|
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
|
|
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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: GANDLF
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.5
|
|
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.
|
|
21
|
+
Requires-Dist: torch==2.7.1
|
|
22
22
|
Requires-Dist: black==23.11.0
|
|
23
|
-
Requires-Dist: lightning==2.
|
|
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.*
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: GANDLF
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.5
|
|
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.
|
|
21
|
+
Requires-Dist: torch==2.7.1
|
|
22
22
|
Requires-Dist: black==23.11.0
|
|
23
|
-
Requires-Dist: lightning==2.
|
|
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.
|
|
41
|
+
"torch==2.7.1",
|
|
42
42
|
f"black=={black_version}",
|
|
43
|
-
"lightning==2.
|
|
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.4-dev20250708"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/configuration/differential_privacy_config.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/data/preprocessing/template_matching/__init__.py
RENAMED
|
File without changes
|
{gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/data/preprocessing/template_matching/base.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/data/preprocessing/template_matching/utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/grad_clipping/adaptive_gradient_clipping.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/models/seg_modules/IncDownsamplingModule.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/models/seg_modules/add_downsample_conv_block.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gandlf-0.1.4.dev20250708 → gandlf-0.1.5}/GANDLF/privacy/opacus/opacus_anonymization_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|