Releases: microsoft/hi-ml
v0.2.1 Updating VS Code Workspaces, Codecov + various other changes
What's Changed
- BUG: Fix function to compute bounding box by @fepegar in #311
- ENH: Add flag pl_limit_test_batches by @mebristo in #317
- ENH: Add ability to override which checkpoint to use for inference by @ant0nsc in #313
- BUG: Use custom checkpoint for test stage in DeepMIL by @harshita-s in #318
- ENH: Refactor DeepMIL modules to support slide dataloader by @kenza-bouzid in #304
- BUG: Fix code to create the PANDAS tiles dataset by @fepegar in #321
- STYLE: Add some formatting settings for VS Code by @fepegar in #312
- STYLE: Rename panda_tiles to panda_tiles_small by @mebristo in #322
- BUG: Fix PathMNIST tests and add automatic rerun for CIFAR tests by @kenza-bouzid in #319
- ENH: Encoding in chunks to enable WSI validation and test by @harshita-s in #323
- ENH: Enable different train val test transformations by @vale-salvatelli in #324
- BUG: Add ability to override non-empty list params with empty by @mebristo in #330
- ENH: Enable selection of primary validation metric in BaseMIL by @dccastro in #332
- ENH: Add param 'wait_for_completion' to ExperimentConfig by @mebristo in #331
- ENH: Use VSCode workspaces to open projects by @ant0nsc in #328
- BUG: Update path to PANDA tiles directory by @fepegar in #325
- BUG: Update get_all_environment_files after environment.yml has moved by @mebristo in #334
- ENH: Validate the number of requested nodes for an AML job by @mebristo in #337
- ENH: Add template for multimodal package by @ant0nsc in #333
- ENH: Switch to Codecov by @ant0nsc in #340
- BUG: Update paths and columns for PANDA tiles dataset by @harshita-s in #344
- DOC: Add Codecov badge to README by @fepegar in #343
- BUG: Fix invalid environment file by @fepegar in #345
- STYLE: Ensure all files end with a newline by @fepegar in #347
- STYLE: Make code compliant with PEP8 by @fepegar in #349
- STYLE: Remove trailing whitespaces by @fepegar in #346
- BUG: Change bounding box location for PANDA heatmaps by @harshita-s in #350
- ENH: Separate workflow for histopathology by @ant0nsc in #354
- BUG: Fix problem with Test.PyPi upload filename conflicts by @ant0nsc in #358
- ENH: Clean-up of linter configurations by @ant0nsc in #356
- ENH: Add pl_limit_batches to TrainerConfigs. by @kenza-bouzid in #361
- BUG: Run WSI pipeline at scale. by @kenza-bouzid in #357
- BUG: Make files with shebang executable by @fepegar in #348
- ENH: Add outputs for visualization of attention heatmaps on DSA by @harshita-s in #355
- ENH: Group code coverage by folder by @ant0nsc in #368
- ENH: Run WSI pipeline without a fixed tile_count by @kenza-bouzid in #365
- ENH: Add pre-commit config file by @fepegar in #371
- DOC: Extend coding guidelines by @ant0nsc in #298
- ENH: Add log text reader function by @peterhessey in #367
- BUG: VSCode uses wrong value for Python path in terminal by @ant0nsc in #375
New Contributors
- @peterhessey made their first contribution in #367
Full Changelog: v0.2.0...v0.2.1
Adding training runner, various fixes and extensions
What's Changed
- Add utils and attention layers by @mebristo in #170
- Make improvements to report tool by @mebristo in #173
- Fixing checkpoint downloader by @vale-salvatelli in #174
- Updated augmentations for histology images by @maxilse in #179
- First version of runner by @mebristo in #178
- Copy histopathology folder into hi-ml by @mebristo in #181
- Add mean pooling layer by @dccastro in #187
- Add inference to runner by @mebristo in #186
- Bump pillow from 8.3.2 to 9.0.0 by @dependabot in #184
- Bump node-fetch from 2.6.2 to 2.6.7 in /.github/actions/format_coverage by @dependabot in #182
- update DeepSMILE models by @maxilse in #188
- Fix DeepMIL metrics bug by @dccastro in #195
- Adding transformation adaptor by @vale-salvatelli in #193
- Show workspace name in error message by @fepegar in #196
- Adding cross-validation to the hi-ml runner by @ant0nsc in #198
- Retire the manual changelog by @ant0nsc in #216
- Switch autodoc format to be without types by @ant0nsc in #217
- FIX: Output directories of multi-GPU DDP can be wrong by @ant0nsc in #221
- FIX: Config loader fails when using relative directories by @ant0nsc in #220
- FIX: update base_module to avoid cache being reused when cachemode is None by @vale-salvatelli in #222
- ENH: Enforce prefixes for PR titles by @ant0nsc in #224
- Migrate DeepMIL fine-tuning, dropout, subsampling, FP/TN by @dccastro in #219
- ENH: Add transformer pooling by @maxilse in #227
- DOC: Fix some Sphinx warnings by @fepegar in #232
- ENH: Multiclass AUROC, metrics test, and max pooling in DeepMIL by @harshita-s in #233
- ENH: Add cross-validation reports for DeepMIL by @dccastro in #229
- DOC: Better onboarding instructions in Readme files by @ant0nsc in #223
- BUG: Invalid commandline args should raise an error by @ant0nsc in #242
- ENH: Dataset mounting is now configurable by @ant0nsc in #241
- BUG: Added tolerance to test by @maxilse in #246
- ENH: Runner specifies docker image size, prints defaults by @ant0nsc in #243
- ENH: Adding tag argument to specify display name by @ant0nsc in #245
- BUG: Pass cycle mode to the trainer for SSL, Crossval_index check by @ant0nsc in #248
- ENH: Enable DeepMIL validation outputs via outputs handler by @dccastro in #244
- BUG: Pin package versions for histopathology by @ant0nsc in #253
- ENH: Linearly scale the learning rate of ssl models by @maxilse in #254
- BUG: Perform validation and test on full slide by @harshita-s in #256
- BUG: Fix renaming of outputs folders in Azure ML by @dccastro in #258
- DOC: Hide checklist in PR template by @fepegar in #255
- ENH: Better handling of duplicates when merging conda envs by @mebristo in #257
- BUG: Move cross validation function from innereye-dl to himl by @maxilse in #262
- BUG: Enable outputs handler to work in DDP by @dccastro in #261
- BUG: Pin jinja2 to avoid bug in latest version by @mebristo in #266
- BUG: Correct pythonpath separator character in VS code settings file by @mebristo in #267
- BUG: Fix spurious test errors by @ant0nsc in #270
- BUG: Conda environment file merging should also split on semicolons by @mebristo in #272
- ENH: Add dataloader kwargs in tiles data modules, including num_workers by @dccastro in #268
- BUG: Hotfix for breaking changes in Pytorch Lightning 1.6.0 by @ant0nsc in #278
- ENH: Add colors to the VSCode window by @ant0nsc in #277
- ENH: Using default workspace datastore when datastore name is missing by @ant0nsc in #275
- BUG: Params pl_limit_train(/val)_batches should accept float by @mebristo in #279
- BUG: Workaround to avoid saving a dataframe as a hyperparameter by @kenza-bouzid in #282
- BUG: Remove outdated SDK usage by @ant0nsc in #287
- ENH: Added histo ssl configs by @maxilse in #264
- ENH: Add step for GPU tests on the histo folder by @ant0nsc in #273
- ENH: Add validation results to crossval report by @dccastro in #286
- ENH: Add slide dataloader by @kenza-bouzid in #285
- ENH: Add regression test framework to runner by @ant0nsc in #289
- BUG: Mitigate DeepMIL GPU memory leak in results dict by @dccastro in #293
- STYLE: Fix mypy misconfiguration for histopathology by @dccastro in #294
- BUG: Fix SSL encoder setup and pin versions to support A100 GPUs by @dccastro in #295
- BUG: Resolve multiple values for keyword argument 'pin_memory' by @harshita-s in #296
- ENH: Add support for model and metadata serialization by @ant0nsc in #252
- BUG: MyPy error showing in CI by @ant0nsc in #297
- BUG: Collate gathered DeepMIL outputs on CPU by @dccastro in #291
- BUG: Pin torchvision to install alongside PyTorch and CUDA toolkit by @dccastro in #302
- ENH: Unit test for current deepmil pipeline with mock data by @kenza-bouzid in #300
- BUG: HOTFIX skip pathmnist tests by @kenza-bouzid in #307
- ENH: Add
is_caching
parameter in DeepMIL container by @harshita-s in #303
New Contributors
- @vale-salvatelli made their first contribution in #174
- @maxilse made their first contribution in #179
- @dccastro made their first contribution in #187
- @dependabot made their first contribution in #184
- @fepegar made their first contribution in #196
- @harshita-s made their first contribution in #233
- @kenza-bouzid made their first contribution in #282
Full Changelog: 0.1.13...v0.2.0
Weekly bug fix release
- Test pipelines was not always using the latest version of hi-ml
- Auto-generated AzureML environment name did not respect private wheel names
What's Changed
Full Changelog: v0.1.12...0.1.13
Report builder, Logging from VM
This version adds bug fixes and two new functionalities:
- Report builder
- Ability to log to AzureML when running training outside AzureML
What's Changed
- Profile loading png as np by @JonathanTripp in #159
- Check other folders for driver_log by @JonathanTripp in #164
- Add HTML report by @mebristo in #152
- Fix for invalid "." dataset location in AzureML by @ant0nsc in #161
- Enable logging from outside AzureML, logging bugfixes by @ant0nsc in #167
Full Changelog: v0.1.11...v0.1.12
Bug fixes to update registered environment and ensure compatibility with AML Datasets
What's Changed
Bug fix to ensure that when existing, registered environments are retrieved, the run_config is updated accordingly. Another bug fix for pinning Ubuntu version to 18.04 since later versions are not currently compatible with Azure ML Datasets. Also adds local dataset mounting, and a helper function for downloading and aggregating the metrics across all children of a hyperdrive run.
- Locally mount datasets by @JonathanTripp in #145
- Add k-fold cross validation wrapper around HyperDrive by @mebristo in #149
- Profile methods for loading png image files by @JonathanTripp in #132
- Bug fix: update run_config with registered environment by @mebristo in #156
Full Changelog: v0.1.10...v0.1.11
Add diagnostics tools and refactor (breaking change)
- Added an AML progress bar, and diagnostics for batch loading times
- Added image load profiling to tests
- Updated/simplified the process of updating the CHANGELOG before a new release
- Refactoring, including replacing ArgumentParser with parametrized class, updating args for command line tools and updating "get_run_..." functions in line with new reduced set of command line args (breaking change)
What's Changed
- Diagnostic tools by @ant0nsc in #142
- Add image load profiling by @JonathanTripp in #138
- Mebristo/refactor run id types by @mebristo in #129
- Document updated release process by @ant0nsc in #150
Full Changelog: v0.1.9...v0.1.10
Changed namespaces (breaking change), AML fixes
This release contains a breaking change in namespaces:
- Package
hi-ml-azure
was previously importing ashealth.azure
, now it ishealth_azure
- Package
hi-ml
was previously importing as, for example,health.utils
, now it ishealth_ml.utils
Fix for an issue with AML environment creation (versions called AutoSave, see #139), improved documentation
Multi-process downloads
Extending downloading functions to include a barrier for multi-GPU jobs
Bug fix when running on Azure build agents
Adding helper functions for file download
Helper functions for file download that avoid timeouts
Bug fix for integration into InnerEye
Bug fix release that addresses #116