Releases: mlcommons/GaNDLF
Releases · mlcommons/GaNDLF
Major release with the paper
What's Changed
- Implemented a common copyright message for CLI and updated links & email by @sarthakpati in #512
- Change python-test.yml to pass on docs-only by @AlexanderGetka-cbica in #517
- Making the flowchart a bit more generic to showcase inference by @sarthakpati in #514
- Updated install verification logic by @sarthakpati in #520
- Updated implementation for augmentations that need std-dev by @sarthakpati in #521
- Ability to generate multiple training configurations using a specific strategy by @sarthakpati in #525
- Updated patch divisibility logic by @sarthakpati in #523
- Added sanity check for
norm_typefor non-vgg network architectures by @sarthakpati in #528 - Fixing requirement for SimpleITK for a problematic version by @sarthakpati in #537
- Preprocessing is now working when a random set of metadata columns are present by @sarthakpati in #535
- Added ability to combine classification inference results from different architectures by @sarthakpati in #531
- Added ability to save
initialandlatestmodels in addition tobestby @sarthakpati in #539 - Latest model is now saved correctly by @sarthakpati in #546
- Consideration of
scaling_factorhas been moved to loss/metrics by @sarthakpati in #541 - Added ability to specify testing data csv in main cli by @sarthakpati in #545
- added more information for #529 by @sarthakpati in #549
- Add docker docs by @AlexanderGetka-cbica in #550
- Added more details to documentation specifically related to training customization by @sarthakpati in #552
- Added more details about Docker by @sarthakpati in #554
- Separate
modelDirandoutputDirparameters for inference to cohesiveness by @sarthakpati in #557 - The logs now include metric headers from
overall_statsby @sarthakpati in #558 - Fix parseConfig separately from my other PR by @AlexanderGetka-cbica in #561
Full Changelog: 0.0.5...0.0.16
Major release before dependency updates.
What's Changed
- Python 3.8 fixes by @AlexanderGetka-cbica in #453
- Version updated for development by @sarthakpati in #452
- Fixing the
stride_sizecheck for histology inference by @sarthakpati in #455 - Update CI (PyTest to 3.8, and Docker Image creation) by @AlexanderGetka-cbica in #461
- Bump numpy from 1.21.0 to 1.22.0 by @dependabot in #460
- Add collectStats functionality for classification tasks by @garvm7 in #463
- Ensuring params are populated correctly even if only testing data is invoked by @sarthakpati in #466
- Added blending probability maps with original WSI by @sarthakpati in #465
- Update data type for stride size by @sarthakpati in #458
- Add FP16 option for model optimization by @junwenwu in #457
- Added option to not pick up pretrained weights for
imagenet_vggby @sarthakpati in #469 - Added ability to print model size and summary at run-time by @sarthakpati in #468
- Better handling of large WSIs by @sarthakpati in #472
- Added exception testing for histology classification by @sarthakpati in #477
- Fixing reported Codacy fixes by @sarthakpati in #474
- Formatting fixes for readability by @sarthakpati in #478
- Completely excising VIPS from GaNDLF by @sarthakpati in #480
- Update test workflow with file path filtering by @AlexanderGetka-cbica in #473
- Saving report for failure cases from
pytestas a separate log by @sarthakpati in #482 - New metric added to calculated per-class accuracy by @sarthakpati in #486
- Single utility function to return array from tensor/image by @sarthakpati in #483
- Increasing unit test coverage by @sarthakpati in #487
- Fixed the order of coordinates in
predictions.csvfor WSI inference by @sarthakpati in #490 - Added ability to call specific post processing algorithms after reverse one-hot encoding by @sarthakpati in #494
- Adding Largest connected component analysis as a post-processing step by @Geeks-Sid in #467
- Dedicated rescaling preprocessing function added for increased flexibility by @sarthakpati in #496
- Fixes multi-batch issue for
per_label_accuracyby @sarthakpati in #498 - Included classification-specific metrics using overall predictions and ground truths by @sarthakpati in #500
- version update for tagging by @sarthakpati in #501
New Contributors
Full Changelog: 0.0.14...0.0.15
Major release with lots of new functionality
What's Changed
- updated version for development by @sarthakpati in #259
- Fix for
get_final_layeruse inGANDLF.utilsby @sarthakpati in #260 - Add functionality to save training patches by @sarthakpati in #263
- Updates to integrate new OPM APIs by @sarthakpati in #261
- Added option to print per-label segmentation scores by @sarthakpati in #264
- updated initialization for dicts by @sarthakpati in #267
- Motion artifact separated by @sarthakpati in #270
- added
blackandopencv-pythonas an explicit requirements by @sarthakpati in #271 - Bump numpy from 1.19.2 to 1.21.0 by @dependabot in #272
- Added capability to use
InstanceNorminDenseNetby @sarthakpati in #274 - Updated implementations of
VGGandDenseNetto useModelBasefor consistency by @sarthakpati in #276 - Added git hash to model save by @sarthakpati in #277
- Added FAQ by @sarthakpati in #279
- Update to how
git_hashis saved by @sarthakpati in #280 - Documentation updated for new module structure by @sarthakpati in #283
- Accuracy is now standardized from torchmetrics by @sarthakpati in #287
- Adding automated linting check for
blackby @sarthakpati in #284 - Post-processing module added by @sarthakpati in #289
- Added a
GANDLF.anonymizemodule by @sarthakpati in #291 - Updated documentation (faq and usage) by @sarthakpati in #294
- Git submodule update is now integrate in setup by @sarthakpati in #296
- Ensure
colorjitterworks with defaults by @sarthakpati in #297 - More progress bars for better feedback by @sarthakpati in #301
- Update usage.md - plot final results by @anishshriram in #305
- Using
ResampleandResizefrom TorchIO by @Geeks-Sid in #293 - Ensure hole filling output is int by @sarthakpati in #306
- Added instructions for dependency management by @sarthakpati in #307
- Minor fix for
reset_prevby @sarthakpati in #310 - added captk and fets links by @sarthakpati in #311
- Updates documentation based on SB's notes by @sarthakpati in #313
- Added script to verify installation by @sarthakpati in #315
- Added ability to save preprocessed files with data augmentation by @sarthakpati in #317
- Added ResNet with multiple configurations by @Sofia-Mouchtaris in #319
- Bug fix in parameters for
gandlf_collectStatsby @dlang95 in #321 Resample_Minadded to ensure a baseline resolution for all images getting processed by @sarthakpati in #325- Added final predictions for classification by @sarthakpati in #328
- Ensuring cropping zero planes are applied for preprocessing by @sarthakpati in #329
- Typo fixed for
hd95by @sarthakpati in #331 - Using
TiffSlideinstead ofOpenSlidefor a better deployment by @sarthakpati in #303 - Histology anonymization added by @Geeks-Sid in #281
- Bug fix for
gandlf_collectStatsby @sarthakpati in #335 - Adding
resize_imageas a separate option as compared toresize_patchby @sarthakpati in #337 - Sanity checking is now softer with a threshold by @sarthakpati in #340
- Added ability to resume with and without updating parameters and/or data by @sarthakpati in #344
- Reverse one-hot logic is now updated to output unique labels by @sarthakpati in #342
- Added EfficientNet with multiple configurations by @Sofia-Mouchtaris in #327
- Links added for current networks by @sarthakpati in #346
- Add Dockerfiles and Docker Hub CI by @AlexanderGetka-cbica in #353
- Add GitHub Packages upload step, refine Docker CI further by @AlexanderGetka-cbica in #355
- Added Docker Image builds by @sarthakpati in #354
- docker ci badge position change by @sarthakpati in #356
- Docker CI: Fix login requirement -- no need to log in for PRs (oops!) by @AlexanderGetka-cbica in #359
- Added some checks for inference mode by @sarthakpati in #358
- Fix for invalid classification accuracy in training by @orhunguley in #361
- Post-training optimization using OpenVINO added by @junwenwu in #312
- Enabling inference without having access to the ground truth by @sarthakpati in #363
- Ensure ONNX-related print only happens once during training by @sarthakpati in #364
- Fixed issue with
balanced_accuracyparsing by @sarthakpati in #366 - Hard requirement of PyTorch to LTS by @sarthakpati in #369
- Added post-processing step to map predicted labels to new values by @sarthakpati in #367
- Fix Docker CI on PRs again (meta information missing causing a rebuild -> out of space) by @AlexanderGetka-cbica in #371
- Fixing docker builds by @sarthakpati in #372
- ROCm Docker builds are no longer valid since we are only supporting PyTorch LTS by @sarthakpati in #370
- Custom inference loop added for histo classification by @sarthakpati in #374
- UNet and Light UNet with varying depth by @Sofia-Mouchtaris in #357
- Create codacy-coverage-reporter.yml by @sarthakpati in #368
- added a comment about padding options by @sarthakpati in #376
- Improved penalty calculation and added ImageNet-specific VGG by @Geeks-Sid in #365
- Error checks added to ImageNet VGG by @sarthakpati in #377
- updated config comment for
num_channelsby @sarthakpati in #378 - Logic fixed for step scheduler by @sarthakpati in #379
- Add option to save model at every epoch by @sarthakpati in #381
- Added note for classification/regression tasks by @sarthakpati in #385
- Added RGBA to RGB conversion in preprocessing by @sarthakpati in #384
- Improved default
step_sizecalculation by @sarthakpati in #386 - Added a key for
expscheduler by @sarthakpati in #387 - Documentation updates by @sarthakpati in #388
- Fixing tests on named venv by @sarthakpati in #382
- Fixing pytorch version dependency for macOS by @sarthakpati in #390
- Add option to strategize the final aggregation for segmentation by @sarthakpati in #392
- Fixing per-label metrics display by @sarthakpati in #393
- Added submodule to hand template-matching based normalization by @sarthakpati in #394
- Added RGB to RGBA conversion for preprocessing by @sarthakpati in #397
- A new transformer-based segmentation arch (
UNetR) has been added by @Sofia-Mouchtaris in #398 - Fixing different device issue on multi-layer
UNetandUNETRby @sarthakpati in #399 - Added sigmoid multiplier for UNet model output by @sarthakpati in #400
- Documentation update for installation by @sarthakpati in #403
- More inference mode options added by @sarthakpati in #405
- Update
one_hotandreverse_one_hotlogic for succinctness by @sarthakpati in #404 - moving get_final_layer method functionality to GANDLF.utils to avoid by @brandon-edwards in #407
- API updates to make GaNDLF's compute objects callable outside the tool by @sarthakpati in #401
- Added memory usage for cuda u...
Documentation updates and minor bugfixes
From History:
- Deep supervision added
- Documentation updated
- Model IO is now standardized
Multiple new features for training
From History:
- New Network: Light-UNet
- Misc bugfixes
- Automatic check-pointing of the model has been added
- Extending the codebase has been simplified
- New optimizers added
- New metrics added
- Affine augmentation can now be significantly fine-tuned
- Update logic for penalty calculation
- RGB-specific augmentation added
- Cropping added
New metric calculation mechanism
Changelog:
- Misc bugfixes for segmentation and classification
- DFU 2021 parameter file added
- Added SDNet for supervised learning - https://doi.org/10.1016/j.media.2019.101535
- Added option to re-orient all images to canonical
- Preprocessing and augmentation made into separate submodules
Updated feature set for segmentation and classification
Changelog:
- Half-time epoch loss and metric output added for increased information
- Gradient clipping added
- Per-epoch details in validation output added
- Different types of normalization layer options added
- Hausdorff as a validation metric has been added
- New option to save preprocessed data before the training starts
Major refactor finished
- First level of code re-organization
- No API changes for config files
Final tag before major refactor
0.0.8 Merge pull request #39 from sarthakpati/master