Releases: microsoft/hi-ml
Releases · microsoft/hi-ml
v0.2.11
Incorporate recent fixes
What's Changed
- ENH: Enable flexible finetuning of deepmil submodules by @kenza-bouzid in #549
- ENH: Enable flexible weights initialization from src_checkpoint by @kenza-bouzid in #554
- ENH: Update metrics for binary classification by @harshita-s in #557
- ENH: Updating transfer_main to main by @vale-salvatelli in #558
- ENH: Add command line arg for custom SSL checkpoint by @mebristo in #560
- ENH: Add dataframe kwargs for flexible csv read by @kenza-bouzid in #564
- DOC: Clean up logs (#565) by @mebristo in #566
- BUG: Set dataframe index column only when necessary by @kenza-bouzid in #569
- ENH: Add pl_sync_batchnorm flag by @kenza-bouzid in #571
- ENH: Add smoke test for flexible finetuning by @kenza-bouzid in #563
- ENH: Add debug_ddp flag by @kenza-bouzid in #573
- ENH: Parameterize tiles intensity scaling by @kenza-bouzid in #572
- ENH: Add specific ImageNet encoders for transferability study by @kenza-bouzid in #574
- BUG: Fix SettingWithCopyWarning and parametrize metadata validation by @kenza-bouzid in #577
- ENH: Add/reorganise metrics and correctly normalise confusion matrix by @harshita-s in #578
- BUG: Fix probability scores displayed on histo plots by @kenza-bouzid in #581
- BUG: Cast binary labels into integers. by @kenza-bouzid in #583
- ENH: Log epoch of best checkpoint by @kenza-bouzid in #584
- ENH: Adding PR curve plot for val and test for single fold by @vale-salvatelli in #585
- ENH: Enable stain normalization for multiple images by @harshita-s in #587
- ENH: Dropout in transformer layers in DeepMIL by @harshita-s in #590
- ENH: Adding gradient accumulation flag to trainer by @vale-salvatelli in #592
- ENH: Add essential changes from main by @ant0nsc in #602
- BUG: Fix top bottom tiles selection mismatch. by @kenza-bouzid in #599
- ENH: Enable adding tags to aml runs from LightningContainer by @kenza-bouzid in #603
- ENH: Make crossval html report generic to all hyperdrive runs by @kenza-bouzid in #605
- ENH: Refactor extra validation epoch logic by @kenza-bouzid in #608
- ENH: Improve Amulet support and documentation by @ant0nsc in #615
- ENH: Set additional tags to Amulet Jobs by @kenza-bouzid in #620
- ENH: Add Loss Outliers Analysis callback by @kenza-bouzid in #618
- BUG: Fix double root folder for heatmaps by @kenza-bouzid in #622
- MNT: Fix YAML syntax for Amulet jobs (#624) by @kenza-bouzid in #626
- ENH: Track validation loss and add entropy value by @kenza-bouzid in #629
- BUG: Checkpoint path not picked up correctly by @harshita-s in #630
- ENH: Enable running cross validation via amulet by @kenza-bouzid in #631
- ENH: Validate model weights before inference by @kenza-bouzid in #635
- ENH: Enable heatmaps and thumbnails plots for WSI without masks by @kenza-bouzid in #637
- BUG: Set instance shuffling to True by @kenza-bouzid in #638
- ENH: Run extra validation epoch on a single gpu by @kenza-bouzid in #639
- ENH: Separate attention heatmap and slide thumbnail plot options by @kenza-bouzid in #640
- BUG: Retrieve tiles_ids from outputs dictionary for loss analysis by @kenza-bouzid in #641
- ENH: Extend StainNormalisation Transform to work with Slides Pipeline by @kenza-bouzid in #644
- ENH: HEDJitter update by @maxilse in #643
- ENH: Add log every nsteps parameter by @kenza-bouzid in #645
- ENH: Download Checkpoints across AML workspaces by @kenza-bouzid in #642
- BUG: Fix HTML report by @harshita-s in #647
- ENH: Run tests for histopathology folder in Conda environment by @ant0nsc in #487
- ENH: Add openslide to cpath conda environment by @ant0nsc in #646
- FIX: Fix bug in saving validation outputs by @mebristo in #649
- ENH: Merge Main into Transfer Main by @kenza-bouzid in #653
- ENH: Add pl_replace_sampler_ddp flag for small validation sets by @kenza-bouzid in #648
- ENH: Add display name, tags and shm size to SDK v2 job by @mebristo in #654
- ENH: Merge Transfer Main by @kenza-bouzid in #658
- BUG: Raise ClientAuthenticationError in default get credential by @kenza-bouzid in #659
- ENH: Parameterize CuCim backend by @kenza-bouzid in #661
- BUG: Fix mlflow authentication error by @kenza-bouzid in #662
- BUG: Move MlClient call to v2 scope only by @kenza-bouzid in #663
- ENH: Upgrade azureml packages by @kenza-bouzid in #664
- BUG: Remove all calls to get_ml_client outside v2 by @kenza-bouzid in #665
- BUG: Fix hanging smoke tests by @kenza-bouzid in #666
- BUG: Use permanent permalinks in docs to fix precommit check by @kenza-bouzid in #667
- BUG: Use micro average for MultiClassAccuracy by @kenza-bouzid in #671
- ENH: Upgrade monai to 1.0.1 by @kenza-bouzid in #668
- ENH: Fix security Alerts by @kenza-bouzid in #675
- ENH: Enable LoadROId with Openslide by @kenza-bouzid in #672
- BUG: Add symbolic link that had gotten deleted by accident by @ant0nsc in #676
- ENH: Extract coordinates from tensors metada by @kenza-bouzid in #677
- ENH: Enable custom workspace config path by @kenza-bouzid in #678
- ENH: Enable custom datastore name when running outside AML by @kenza-bouzid in #679
- BUG: Cast true labels to int in results dictionary by @kenza-bouzid in #682
- ENH: Group AML experiments by PR number by @ant0nsc in #681
Full Changelog: v0.2.9...v0.2.10
Incorporate AML SDK v2
Incorporate the use of Azure ML SDK v2 into the package.
What's Changed
- ENH: Incorporate AML SDK v2 by @mebristo in #627
- ENH: Enable hyperparameter search with AML SDK v2 by @mebristo in #650
Full Changelog: v0.2.8...v0.2.9
Use new AzureML runtime by default
This is a bug fix release. Most significant update is that hi-ml-azure
submits jobs targeting the new AzureML runtime by default now.
What's Changed
- MNT: Fix YAML syntax for Amulet jobs by @fepegar in #624
- MNT: Replace print with logging.info by @fepegar in #623
- FIX: Fix test_get_dataset by @mebristo in #636
- ENH: Switch to new AzureML runtime by @ant0nsc in #576
Full Changelog: v0.2.7...v0.2.8
Relax package constraints
This is a small maintenance release to relax the package version constraints. AzureML packages can now be >= 1.42 rather than pinned.
What's Changed
- MNT: Relax package constraints for AzureML libraries by @ant0nsc in #619
- MNT: Update test helpers to work with latest AML package by @ant0nsc in #621
Full Changelog: v0.2.6...v0.2.7
v0.2.6
This is largely a bugfix release to improve jobs that run on Singularity (#612)
What's Changed
- ENH: Enable Global Similarity Comparison Between Text and Image Inputs by @ozan-oktay in #606
- ENH: Return figure when plotting similarity map by @fepegar in #600
- MNT: Bump hi-ml-multimodal version: 0.1.0 → 0.1.1 by @fepegar in #610
- ENH: Improve Amulet support and documentation by @ant0nsc in #612
Full Changelog: v0.2.5...v0.2.6
v0.2.5
What's Changed
- ENH: Show run ID and prefix if no files are found by @fepegar in #528
- BUG: Clear the top and bottom slides heaps after every validation epoch by @mebristo in #531
- ENH: Update tcga_prad paths and remove 'slide_' by @maxilse in #533
- ENH: Enable running inference-only with the hi-ml runner by @kenza-bouzid in #518
- FIX: Fixing typo in panda_model.md by @vale-salvatelli in #535
- DOC: Adding tcga DeepMIL results by @vale-salvatelli in #539
- ENH: Allow skipping of top/ bottom tile plotting by @mebristo in #536
- FIX: Flake8 problem that got missed due to auto-merge by @mebristo in #541
- BUG: Fixed PIL import by @maxilse in #542
- ENH: Mark completed regression_test_utils tests as complete by @mebristo in #537
- BUG: Fix column parsing by @maxilse in #544
- TEST: Incorporate additional smoke tests by @mebristo in #532
- ENH: Make label_column an instance attribute by @kenza-bouzid in #538
- BUG: Fix incompatibility between PIP and Conda CUDA versions by @fepegar in #546
- MNT: Prepare hi-ml-multimodal for PyPI by @fepegar in #545
- ENH: Add hubconf to load models without installing by @fepegar in #543
- FIX: Hotfix HTTP error downloading model with hub by @fepegar in #552
- DOC: Fix broken links in cpath documentation by @vale-salvatelli in #547
- BUG: Fix output saving for distributed models by @mebristo in #555
- ENH: Enable custom SSL encoder checkpoint by @mebristo in #562
- ENH: Clean up logs by @mebristo in #565
- ENH: Softmax requires dimension choice by @mebristo in #567
- FIX: Fix best checkpoint name by @mebristo in #568
- MNT: Install PyPI package in demo notebook by @fepegar in #570
- DOC: Use a consistent team name across all packages by @ant0nsc in #575
- ENH: Autoupdate hooks [pre-commit.ci] by @pre-commit-ci in #548
- MNT: Upgrade linting packages by @fepegar in #586
- ENH: Enable logging to AzureML when running training outside AzureML by @ant0nsc in #580
- FIX: Update env var settings for multi node by @mebristo in #588
- ENH: Upgrade hi-ml-cpath to Python 3.9 by @ant0nsc in #589
- ENH: Add a way of quickly starting runs with different seeds by @ant0nsc in #597
- ENH: Submit jobs to Singularity via Amulet by @mebristo in #596
- ENH: Use a locked environment hi-ml folder by @ant0nsc in #598
Full Changelog: v0.2.4...v0.2.5
v0.2.4: First version of pathology package, speed up pathology experiments,
What's Changed
- BUG: Restrict CredScan action to credential scanning only by @kenza-bouzid in #490
- Bump actions/setup-python from 2 to 4 by @dependabot in #469
- Bump codecov/codecov-action from 2 to 3 by @dependabot in #468
- Bump actions/setup-node from 2 to 3 by @dependabot in #470
- Bump actions/checkout from 2 to 3 by @dependabot in #471
- ENH: Reduce hyperparameters serialization time by @kenza-bouzid in #486
- ENH: Autoupdate hooks [pre-commit.ci] by @pre-commit-ci in #488
- BUG: Fix demo notebook failing on PRs by @fepegar in #492
- ENH: Add commit ID when downloading CXR-BERT model by @ozan-oktay in #482
- ENH: Exclude cache files from file watchers to speed up VSCode by @ant0nsc in #495
- ENH: Remove local dataset definitions from histopathology models by @ant0nsc in #494
- DOC: Update documentation for hi-ml-multimodal by @fepegar in #493
- ENH: Turn on mixed precision training by default by @ant0nsc in #496
- ENH: Prepare codebase for image model release by @fepegar in #497
- DOC: More details about creating Azure resources by @ant0nsc in #498
- DEL: Remove large files from RegressionTestResults by @mebristo in #500
- ENH: Move all training related functions to MLRunner class. by @kenza-bouzid in #499
- BUG: Mounted dataset disappears when mount script terminates by @ant0nsc in #504
- ENH: Simplify publishing workflow by using a single PyPi token by @ant0nsc in #510
- DOC: Improve Azure setup instructions by @ant0nsc in #507
- BUG: Plot conf matrix when not all labels present by @mebristo in #509
- ENH: Upgrade Github runner OS from Ubuntu 18 to Ubuntu 20 by @ant0nsc in #511
- ENH: Rename histopathology folder to match overall naming scheme by @ant0nsc in #512
- ENH: Update PR titles to include more tags by @SangamSwadiK in #505
- DOC: Use imperative for PR title in guidelines by @fepegar in #517
- ENH: Only upload codecov reports once by @ant0nsc in #521
- ENH: Add github workflow for smoke testing DeepSMILEPandaSlidesBenchmark by @mebristo in #506
- ENH: Split run requirements for cpath folder into file by @ant0nsc in #519
- ENH: Update tiling script by @maxilse in #516
- ENH: Publishing the hi-ml-cpath package by @ant0nsc in #524
New Contributors
- @pre-commit-ci made their first contribution in #488
- @SangamSwadiK made their first contribution in #505
Full Changelog: v0.2.3...v0.2.4
Dependency upgrades + bug fixes
What's Changed
- ENH: Add DeepSMILESlidesPandaBenchmark config by @mebristo in #385
- ENH: HTML reports for multiclass case by @harshita-s in #376
- ENH: Add utils to upload annotations to the Digital Slide Archive by @fepegar in #373
- ENH: Upload Codecov results also when tests fail by @ant0nsc in #383
- BUG: Remove padding when loading slides by @fepegar in #387
- ENH: Add visualization parameters to DSA annotations script by @fepegar in #390
- BUG: TilesPandaImageNetMIL runs hang on Azure ML by @harshita-s in #400
- STYLE: Disable pre-commit CI autofixes by @fepegar in #402
- ENH: Add Regression Tests by @mebristo in #359
- STYLE: Fix max line length in autopep8 hook by @fepegar in #403
- ENH: Select top and bottom tiles on the fly by @kenza-bouzid in #388
- BUG: Update contributing link in Readme by @kenza-bouzid in #408
- STYLE: Fix file without end line by @fepegar in #409
- ENH: PANDA SSL with tile selection enabled (random or tile occupancy) by @harshita-s in #398
- ENH: Add gpu tests coverage to codecov reports by @kenza-bouzid in #399
- DEL: Delete deprecated code from outputs utils by @kenza-bouzid in #407
- STYLE: Ensure new line at the end of JSON files by @fepegar in #410
- STYLE: Rename pl_limit_batches to pl_fast_dev_run by @kenza-bouzid in #415
- DEL: Remove TilesPANDA regression test by @mebristo in #418
- BUG: Correctly setting up encoder for SSLMIL by @harshita-s in #404
- ENH: Pin msrest to avoid missing import by @mebristo in #424
- DOC: Change outdated model name by @ant0nsc in #419
- STYLE: Set default PR title for pre-commit CI bot by @fepegar in #413
- DOC: Adding a high-level description of our software design process by @ant0nsc in #380
- ENH: Pin cloudpickle to fix warnings in Azure ML by @mebristo in #426
- BUG: Add path resolution in dataset mounting script by @kenza-bouzid in #416
- DEL: Retire the --azureml flag of the runner by @kenza-bouzid in #420
- DOC: Fix out of sync docs and typo by @kenza-bouzid in #428
- DOC: Document Histopathology Models by @ant0nsc in #429
- ENH: Simplify how we handle conda environment files in AML submissions by @ant0nsc in #414
- ENH: Add Credential Scanning Workflow by @ant0nsc in #370
- ENH: Reduce console logging noise by @ant0nsc in #430
- ENH: Add Cohen Kappa module metric to DeepMIL by @harshita-s in #422
- BUG: Stop looking for environment file if already running in AML by @mebristo in #432
- DOC: Remove retired argument names by @ant0nsc in #435
- ENH: Add unit tests for disabling top and bottom tiles by @kenza-bouzid in #439
- BUG: Default parameters in
DeepSMILECRCk
container by @harshita-s in #440 - ENH: Add makefile commands for smoke tests by @mebristo in #442
- ENH: Enable setting plot options in the containers config by @kenza-bouzid in #441
- BUG: Workflows time out because of using a too large test dataset by @ant0nsc in #447
- ENH: Improve mypy arguments by @fepegar in #448
- ENH: Redirect profiler traces to outputs folder and add debugging doc by @kenza-bouzid in #444
- ENH: Make building Monai-based models reproducible by @ant0nsc in #443
- ENH: Switch from azureml-sdk to azureml-core by @ant0nsc in #455
- BUG: Fix confusion matrix plots by @kenza-bouzid in #450
- ENH: Add text and image inference code for CXR multimodal by @ozan-oktay in #438
- ENH: Upgrade PyTorch Lightning to 1.6.4 by @kenza-bouzid in #453
- ENH: Remove the dependency on Lightning and Lightning Bolts by @ozan-oktay in #466
- ENH: Add Dependabot config file by @fepegar in #462
- ENH: Rename "multimodal" to "hi-ml-multimodal" by @fepegar in #467
- ENH: Enable pre-commit CI autofixes by @fepegar in #474
- ENH: Run an additional validation epoch at the end of training. by @kenza-bouzid in #465
- ENH: Add flake8 requirement to histology Conda environment by @ant0nsc in #454
- ENH: Update azureml packages versions. by @kenza-bouzid in #477
New Contributors
- @ozan-oktay made their first contribution in #438
Full Changelog: v0.2.2...v0.2.3
Hotfix for Protobuf version problem
What's Changed
- BUG: Fix protobuf version by @ant0nsc in #382
- ENH: Relax constraints on torchvision by @ant0nsc in #379
Full Changelog: v0.2.1...v0.2.2