Releases: pytorch/ignite
v0.5.3 - bug fixes and tests improvements
What's Changed
- adds available_device to test_mutual_information #3335 by @BanzaiTokyo in #3367
- At end of epoch on an IterableDataset ensure engine.state.output rema… by @mtauraso in #3373
- Add output_transform type check in Metric class (#3352) by @HyeSungP in #3371
- Make test_iterator_state_output more readable by @mtauraso in #3375
- Updated conda recipe by @vfdev-5 in #3370
- removes deprecated save_as_state_dict param that was raising an error. fixes #3377 by @BanzaiTokyo in #3378
- [skip ci] Added merge_group to update unit-tests.yml by @vfdev-5 in #3386
- adds available device to test_davies_bouldin_score.py #3335 by @BanzaiTokyo in #3383
- adds available device to test_silhouette_score.py #3335 by @BanzaiTokyo in #3384
- adds available_device to RootMeanSquaredError #3335 by @BanzaiTokyo in #3380
- adds available device to test_top_k_categorical_accuracy.py #3335 by @BanzaiTokyo in #3381
- adds available device to test_calinski_harabasz_score.py #3335 by @BanzaiTokyo in #3382
- [skip ci] Fixed a typo in docs by @vfdev-5 in #3388
- Test fbeta available device #3335 by @BanzaiTokyo in #3360
- adds available_device to RocCurve #3335 by @BanzaiTokyo in #3379
- test: use absolute tolerance in FID test to account for float32 numer… by @BanzaiTokyo in #3390
- temporarily skip SR example if Caltech101 dataset fails to download by @BanzaiTokyo in #3393
- fix test_distrib_integration by @BanzaiTokyo in #3392
- adds available device to nlp tests #3335 by @BanzaiTokyo in #3385
- replace python setup.py install with pip install . by @BanzaiTokyo in #3396
- adds available_device to test_precision_recall_curve #3335 by @BanzaiTokyo in #3368
- add available device to test_epoch_metric.py #3335 by @BanzaiTokyo in #3395
- Regression metrics updates mps #3335 by @BanzaiTokyo in #3402
- 1 regression tests available device #3335 by @BanzaiTokyo in #3403
- 2 regression tests available device #3335 by @BanzaiTokyo in #3404
- 3 regression tests available device #3335 by @BanzaiTokyo in #3405
- available device in test_object_detection_map.py by @BanzaiTokyo in #3409
- 5 regression tests available device #3335 by @BanzaiTokyo in #3407
- 6 regression tests available device #3335 by @BanzaiTokyo in #3408
- Fix cocotools change for missing info key by @goanpeca in #3416
- Update expected output to fix doctests by @goanpeca in #3415
- Add dependabot to keep actions on wokflows updated by @goanpeca in #3417
- Update typing to fix errors [skip netlify] by @goanpeca in #3414
- Run pre-commit to fix end-of-file-fixer and trailing-whitespace by @goanpeca in #3418
- Bump the github-actions group with 9 updates by @dependabot[bot] in #3419
- Add commit that fixed style to several files to git blame file by @goanpeca in #3422
- Update to use pyproject.toml only by @goanpeca in #3413
- Use pre-commit to update code style. by @goanpeca in #3423
- Fix build backend by @goanpeca in #3425
- Add channels explicitely in github action by @goanpeca in #3429
- Update pre-commit file and configuration by @goanpeca in #3412
- Use astral uv on CI testing by @goanpeca in #3420
- Replaced links on Blue, Rouge etc papers by @vfdev-5 in #3431
- Add 3.13 to unit-tests.yml by @vfdev-5 in #3432
- Update build constraints by @goanpeca in #3433
- Update docker images by @goanpeca in #3430
- Add fixes to doctest and fix incorrect link by @goanpeca in #3443
- Fix codecov deprecation warning by @goanpeca in #3445
- Add typing and style checks as separate workflows by @goanpeca in #3442
- Fix MPS by @goanpeca in #3444
- Bump the github-actions group across 1 directory with 3 updates by @dependabot[bot] in #3446
- Add has_registered_events method to Engine class by @JeevanChevula in #3449
- Fix dataset check and run super resolution example by @vfdev-5 in #3452
- Update GitHub Actions runner to macOS 14 by @ZainRizvi in #3450
- Use weak reference to break circular reference and memory leaks by @goanpeca in #3447
- Add SAVED_CHECKPOINT event to Checkpoint handler by @JeevanChevula in #3440
- Fix failing distributed sampler test by @vfdev-5 in #3453
- Exposed FBResearchLogger in ignite.handlers by @vfdev-5 in #3457
- Fix FutureWarning: Replace torch.cuda.amp.GradScaler with torch.amp.GradScaler by @Copilot in #3458
- Fixed iteration visual value in fbresearch_logger by @vfdev-5 in #3459
- Remove dev tools installation from CI workflow by @vfdev-5 in #3462
- Fixed AMP error messages by @vfdev-5 in #3460
- Updated pytorch-version-tests.yml by @vfdev-5 in #3461
- Removed python 3.9 from CI by @vfdev-5 in #3463
- Fixed failing mypy on python 3.13 by @vfdev-5 in #3464
- Removed torch<2 from CI by @vfdev-5 in #3465
New Contributors
- @mtauraso made their first contribution in #3373
- @goanpeca made their first contribution in #3416
- @dependabot[bot] made their first contribution in #3419
- @JeevanChevula made their first contribution in #3449
Full Changelog: v0.5.2...v0.5.3
v0.5.2 with new metrics and new features and bug fixes
What's Changed
- Temporary pinned mlflow version to fix the failing CI by @vfdev-5 in #3278
- Add rank correlation metrics by @kzkadc in #3276
- Helper function
all_gather_tensors_with_shapes()by @sadra-barikbin in #3281 - Fix mypy issue with wandb.finish() by @vfdev-5 in #3283
- To fix #3277 by @puhuk in #3280
- Modify docstring and argument for rank correlation metrics by @kzkadc in #3284
- Use the default runner type by @ZainRizvi in #3285
- [CI] Fixed failing linkcheck, w&b init by @vfdev-5 in #3287
- add HSIC metric by @kzkadc in #3282
- Drop python 3.8 in the CI by @vfdev-5 in #3288
- Fix pytorch versions ci by @vfdev-5 in #3289
- Modify docstring for rank correlation metrics by @kzkadc in #3291
- simplify imports of metric functions by @kzkadc in #3292
- Update import style for PrecisionRecallCurve metric by @kzkadc in #3293
- Fixed mypy failures on the CI by @vfdev-5 in #3296
- Updated code formatting tools' versions by @vfdev-5 in #3297
- Add clustering metrics by @kzkadc in #3290
- Updated pytorch version in CI and docker by @vfdev-5 in #3298
- Fixed torch version in docker push_all.sh by @vfdev-5 in #3300
- Fixed failing tests on pytorch nightly using torch.load by @vfdev-5 in #3299
- try updating gpu tests GHA by @vfdev-5 in #3306
- Update pyproject.toml by @vfdev-5 in #3305
- Fix pynvml version to <12 by @vfdev-5 in #3310
- Fixed GPU tests exec scripts and failing metrics by @vfdev-5 in #3301
- Updated GpuInfo metric, pynvml<12 by @vfdev-5 in #3311
- Give the option to terminate the engine without firing Events.COMPLET… by @bonassifabio in #3309
- Allow to terminate an epoch without firing
Events.EPOCH_COMPLETEDby @bonassifabio in #3313 - Fix deprecated statement by @Gulin7 in #3307
- Fixed failing test_roc_auc.py::test_check_compute_fn test by @vfdev-5 in #3316
- Update pytorch-version-tests.yml by @vfdev-5 in #3315
- Fix typos in TextCNN.jpynb by @k22036 in #3320
- Fix typos in FashionMNIST.jpynb by @k22036 in #3321
- Refactor FashionMNIST notebook to use
next()for data iterator by @k22036 in #3322 - Fixed failing doctest and linkcheck CI jobs by @vfdev-5 in #3331
- Fixed failing test_miou on M1 with pytest.approx by @vfdev-5 in #3330
- Updated pytorch version in docker and pytorch-version-tests.yml by @vfdev-5 in #3329
- Fix a typo in the documentation by @jscanvic in #3332
- COCO mAP metric by @sadra-barikbin in #2901
- Updated accuracy, precision, recall tests by @vfdev-5 in #3333
- Fixed failing mean_average_precision tests on cuda by @vfdev-5 in #3338
- Use f32 for metrics on mps by @vfdev-5 in #3334
- Update test_average_precision.py to resolve issue #3335 by @puhuk in #3337
- Fix group as list of ints in torch dist collective ops by @vfdev-5 in #3340
- Added available_device fixture to test_mean_squared_error by @HyeSungP in #3341
- Add
_rank_not_in_groupto idist by @sadra-barikbin in #3339 - Update test_roc_auc.py to resolve issue #3335 by @puhuk in #3343
- Update test_cosine_similarity.py to resolve issue #3335 by @chaojessica in #3348
- Added available_device in test_classification_report (#3335) by @HyeSungP in #3342
- Run hvd tests without xdist by @vfdev-5 in #3347
- Updated gpu-tests CI by @vfdev-5 in #3349
- adds argument name for device in test_mean_squared_error #3335 by @BanzaiTokyo in #3351
- adds checks for used device in metrics tests. #3335 by @BanzaiTokyo in #3353
- Added available_device in metric tests (#3335) by @HyeSungP in #3354
- adds available_device to test_cohen_kappa.py #3335 by @BanzaiTokyo in #3355
- adds available_device to test_confusion_matrix.py #3335 by @BanzaiTokyo in #3357
- Add SSIM for 3D tensors by @lrlunin in #3345
- adds available_device to test_entropy.py #3335 by @BanzaiTokyo in #3358
- adds available_device to test_kl_divergence.py #3335 by @BanzaiTokyo in #3363
- adds available_device to test_frequency.py #3335 by @BanzaiTokyo in #3359
- adds available_device to test_hsic.py #3335 by @BanzaiTokyo in #3361
- adds available_device to test_js_divergence.py #3335 by @BanzaiTokyo in #3362
- adds available_device to test_loss.py #3335 by @BanzaiTokyo in #3364
- adds available_device to test_maximum_mean_discrepancy #3335 by @BanzaiTokyo in #3365
- adds available_device to test_multilabel_confusion_matrix #3335 by @BanzaiTokyo in #3366
- Added support for logging dicts/iterables of metrics by @vfdev-5 in #3369
Acknowledgments
🎉 Thanks to our community and all our contributors for the issues, PRs and 🌟 ⭐️ 🌟 !
💯 We really appreciate your implication into the project
New Contributors
- @ZainRizvi made their first contribution in #3285
- @bonassifabio made their first contribution in #3309
- @Gulin7 made their first contribution in #3307
- @k22036 made their first contribution in #3320
- @jscanvic made their first contribution in #3332
- @HyeSungP made their first contribution in #3341
- @chaojessica made their first contribution in #3348
- @lrlunin made their first contribution in #3345
Full Changelog: v0.5.1...v0.5.2
New metrics and new features and bug fixes
What's Changed
- fix misspecified version reference by @leej3 in #3228
- Add MutualInformation Metric by @kzkadc in #3230
- Add divergence metrics by @kzkadc in #3232
- Add test timeouts by @leej3 in #3241
- Fix error in old PyTorch for KL and JS divergence by @kzkadc in #3236
- Make testing improvements by @leej3 in #3242
- Add MaximumMeanDiscrepancy metric by @kzkadc in #3243
- setup_logger: add optional arg
encodingfor FileHandler by @sjiang95 in #3240 - Fix error of doc test for MaximumMeanDiscrepancy metric by @kzkadc in #3245
- adjust tpu timeout by @leej3 in #3246
- fix some mypy issues by @leej3 in #3248
- Fix mps not functional by @leej3 in #3249
- Fixed linkcheck by @vfdev-5 in #3250
- Retry tests by @leej3 in #3229
- downgrade retry action for gpu tests (#3251) by @vfdev-5 in #3252
- Fix scheduled tests by @leej3 in #3254
- Rename common-test-functionality.sh to common_test_functionality.sh by @vfdev-5 in #3255
- Updated FBResearchLogger example doctring by @vfdev-5 in #3237
- Updated docker pth version by @vfdev-5 in #3256
- improve type support for fbrlogger by @leej3 in #3238
- Introduce a variable skip_unrolling in class Metric by @simeetnayan81 in #3258
- Skip unrolling follow up by @simeetnayan81 in #3260
- Exclude special attributes from causing
MetricsLambdacreation by @sadra-barikbin in #3263 - Replace runners prefix amz2023. by @jeanschmidt in #3265
- Fix failing Pytorch version tests CI by @simeetnayan81 in #3267
- Fix failing tpu tests by @vfdev-5 in #3261
- Add
MetricGroupfeature by @sadra-barikbin in #3266 - Fix WandBLogger init by @zubatyuk in #3273
- Fix mps ci by @vfdev-5 in #3274
- Updated pytorch versions in CI and docker by @vfdev-5 in #3275
Acknowledgments
🎉 Thanks to our community and all our contributors for the issues, PRs and 🌟 ⭐️ 🌟 !
💯 We really appreciate your implication into the project
New Contributors
- @sjiang95 made their first contribution in #3240
- @simeetnayan81 made their first contribution in #3258
- @jeanschmidt made their first contribution in #3265
- @zubatyuk made their first contribution in #3273
Thank you !
Full Changelog: v0.5.0.post2...v0.5.1
New metrics, handlers and moved contrib handlers/metrics to ignite.handlers/metrics
Major changes
- Added new metrics: CosineSimilarity, Entropy, PearsonCorrelation. Big thanks to @kzkadc!
- Moved
ignite.contrib.metricsandignite.contrib.handlerstoignite.handlersandignite.metrics. Thanks to @leej3!
What's Changed
- [CI] Fixed docker build GHA by @vfdev-5 in #3101
- Update docker-build.yml by @vfdev-5 in #3102
- Aligned pypi release commands between nightly and stable by @vfdev-5 in #3104
- Fixed code formatting error by @vfdev-5 in #3128
- Fixed mypy issues by @vfdev-5 in #3129
- update citations to match the linked whitepaper by @djwadhwa in #3127
- Fixing CI for pytorch version tests by @vfdev-5 in #3130
- Add support for
MPSBackend [without torch.amp.autocast ] + CI by @vfdev-5 in #3041 - Try to fix conda env issue on MPS tests by @vfdev-5 in #3148
- Fix failing tests on old pytorch versions by @vfdev-5 in #3147
- [skip-ci] Added ignite logo mixed light by @vfdev-5 in #3153
- Fix failing mps tests by @pranavvp16 in #3145
- make lr finder error message more helpful. by @leej3 in #3160
- Fixed a bug in ConcatScheduler load_state_dict by @vfdev-5 in #3183
- Fixed failing test on engine that does not warn by @vfdev-5 in #3196
- Fixed failing docs linkcheck by @vfdev-5 in #3194
- Migrate the macOS runners label from macos-m1-12 to macos-m1-stable by @DanilBaibak in #3193
- Fix anaconda binaries upload by @vfdev-5 in #3192
- Change LinearCyclicalScheduler to triangle wave to sawtooth wave by @sihyeong671 in #3186
- docs: add MAPE description to MARE [skip ci] by @aalbayrak394 in #3199
- check using gha labeler@v5 by @vfdev-5 in #3205
- Updated pr-labeler-config.yml to v5 by @avinashsharma080 in #3201
- Temporary fixing mpmath issue by @vfdev-5 in #3207
- Add cosine similarity metric by @kzkadc in #3203
- Fix error when testing xla in cosine similarity metric by @kzkadc in #3213
- Ported more distrib tests using TestDistributed by @vfdev-5 in #3208
- Updated code formatting tools verions and reformatted the code by @vfdev-5 in #3209
- Move contrib.handlers by @leej3 in #3204
- Add Entropy metric by @kzkadc in #3210
- Update references to handlers by @leej3 in #3214
- Rewrite test for Entropy metric by @kzkadc in #3216
- Fixed issue when DATALOADER_STOP_ITERATION event is triggered when engine.run(data=None, ...) by @vfdev-5 in #3217
- Updated pytorch version in docker and older versions tests by @vfdev-5 in #3200
- Update test for CosineSimilarity Metric by @kzkadc in #3218
- Added python 3.12 dependency in CI by @avinashsharma080 in #3219
- add fbresearch_logger.py by @leej3 in #3215
- Move contrib metrics files by @leej3 in #3220
- Fixed FID docstring and use latest pytorch_fid package by @vfdev-5 in #3222
- Add PearsonCorrelation metric by @kzkadc in #3212
- Fix device compatibility for PearsonCorrelation metric by @kzkadc in #3223
Acknowledgments
🎉 Thanks to our community and all our contributors for the issues, PRs and 🌟 ⭐️ 🌟 !
💯 We really appreciate your implication into the project
New Contributors
- @djwadhwa made their first contribution in #3127
- @pranavvp16 made their first contribution in #3145
- @leej3 made their first contribution in #3160
- @DanilBaibak made their first contribution in #3193
- @aalbayrak394 made their first contribution in #3199
- @avinashsharma080 made their first contribution in #3201
- @kzkadc made their first contribution in #3203
Thank you !
Full Changelog
PyTorch-Ignite 0.4.13 - Release Notes
What's Changed
- Added
idist.one_rank_firstmethod by @AlexanderChaptykov in #2926 - Updated versions for black usort and ufmt and reformatted codebase by @vfdev-5 in #2930
- Fix doctest and linkcheck issues on CI by @vfdev-5 in #2935
- Migrated gpu-tests ci to pytorch infra by @vfdev-5 in #2934
- [skip ci] Updated version in docker by @theory-in-progress in #2936
- Updated docsearch info by @vfdev-5 in #2944
- Updated facet filtering in docsearch by @vfdev-5 in #2945
- Some improvement in Precision metric docs by @sadra-barikbin in #2946
- Improve RunningAverage reset when epoch_bound=False by @sadra-barikbin in #2950
- Fixed parameter scheduler bug with
CosineAnnealingWarmRestartsby @AlexanderChaptykov in #2938 - Verbose fix by @AlexanderChaptykov in #2957
- Discord Threads for 'help wanted' issues by @guptaaryan16 in #2960
- Improve collective ops on numeric input by @sadra-barikbin in #2959
- Fix a bug in
native::_do_all_gatherrelated togroupby @sadra-barikbin in #2947 - Fixed mypy failure with DistributedSampler by @vfdev-5 in #2971
- [ci] Updated pytorch version and installation cmd by @vfdev-5 in #2970
- [Follow-up] Account for BC in PR#2947 by @sadra-barikbin in #2967
- [skip ci] Updated setup.py info by @vfdev-5 in #2975
- Fixed docs issue in ReduceLROnPlateauScheduler by @vfdev-5 in #2976
- Add new metric usages and update RunningAverage accordingly by @sadra-barikbin in #2958
- [Follow-up] Fix a tiny bug in tests of Improvement in RunningAverage by @sadra-barikbin in #2982
- Fix warning in fast_neural_style example by @sweep-ai in #2984
- Update ROC_AUC Test Case in Documentation by @sweep-ai in #2989
- Fixed broken links #2995 by @Illucious in #2996
- Removed circle-ci by @vfdev-5 in #3007
- Discord Workflow for Issues and pull-requests(non-maintainers-only) by @guptaaryan16 in #3009
- Fixed failing linkcheck CI job by @vfdev-5 in #3010
- Fix a tiny typo regarding
save_handlertype inCheckpointclass by @sadra-barikbin in #3013 - Fix for wrong output of Discord Extension and Workflow by @guptaaryan16 in #3014
- Fix typo by @njuaplusplus in #3017
- Fix a mypy issue related to torch optimizer step by @sadra-barikbin in #3018
- Make metrics serializable by @sadra-barikbin in #3001
- Moved examples/contrib into examples by @vfdev-5 in #3028
- Removed Trains BC from examples by @vfdev-5 in #3029
- Fix: change the dtype of self._kernel when input args have a different dtype by @MarcBresson in #3034
- [skip ci]Fixed not found link #3037 by @sihyeong671 in #3038
- skip mkl install on non-x86 arch by @vfdev-5 in #3040
- perf: replace _uniform method to remove iteration on tensor by @MarcBresson in #3042
- refactor: remove redundant line as .reset() is call in Metrics().__init() by @MarcBresson in #3044
- feat: improve how device switch is handled between the metric device and the input tensors device by @MarcBresson in #3043
- Ported gpu hvd tests from circleci to GHA by @vfdev-5 in #2619
- Fix Discord PR extension workflow output (#3046) by @vfdev-5 in #3051
- Added support for all_gather object by @vfdev-5 in #3047
- Fix attribute error in
Checkpoint::reload_objectswhensave_handleris not of typeDiskSaverby @sadra-barikbin in #3059 - Fix a tiny typo in
ProgressBar's docstring by @sadra-barikbin in #3063 - Added compatibility with uint8 to SSIM metric by @MarcBresson in #3045
- Use class to organize distributed tests in modules by @sadra-barikbin in #3069
- feat: Added warmup each cycle feature in CyclicalScheduler by @sihyeong671 in #3064
- Updated test average precision, cohen kappa and roc auc by @vfdev-5 in #3071
- Replaced version in all yml files with actions/checkout@v4 by @GuptaPratik02 in #3072
- Use actions/checkout@v3 on self-hosted runners by @vfdev-5 in #3075
- Make
RunningAverageandRougeserializable by @sadra-barikbin in #3035 - Update requirements-dev.txt by @vfdev-5 in #3076
- feat: Added model_fn to support non-standard model function in create_trainer (#3055) by @invoker-bot in #3074
- Update setup.cfg by @vfdev-5 in #3078
- Update metrics.rst by @vfdev-5 in #3081
- Updated python 3.8 to 3.10 in the CI by @vfdev-5 in #3080
- Updated sphinx version to fix docs build failure by @vfdev-5 in #3086
- Fix issue with setuptools.distutils.version by @vfdev-5 in #3079
- Fixed all gather on number with ws=1 by @vfdev-5 in #3087
- Updated typehint for idist.all_gather method by @vfdev-5 in #3089
- Update versions in pytorch-version-tests.yml by @vfdev-5 in #3091
- Added graceful exit if data download errored by @vfdev-5 in #3096
- Updated CI gpu image version by @vfdev-5 in #3097
- Updated metrics serialization by @vfdev-5 in #3095
New Contributors
- @sweep-ai made their first contribution in #2984
- @Illucious made their first contribution in #2996
- @njuaplusplus made their first contribution in #3017
- @MarcBresson made their first contribution in #3034
- @sihyeong671 made their first contribution in #3038
- @GuptaPratik02 made their first contribution in #3072
- @invoker-bot made their first contribution in #3074
Full Changelog: v0.4.12...v0.4.13
Bug fixes, new features and housekeeping
PyTorch-Ignite 0.4.12 - Release Notes
New Features
Engine and Events
- Added
model_transformtocreate_supervised_evaluatorso that user be able to transform model output into actual prediction (y_pred) (#2896)
Metrics and handlers
- Updated the
NeptuneLogger(#2881) - Improved
ClearMLLogger. Accessing attributes of the logger, retrieves those of the underlying clearml task.get_taskmethod is also added (#2898) - Added
score_signtoadd_early_stopping_by_val_scoreandgen_save_best_models_by_val_scoreto support both error-like and accuracy-like scores (#2898)
Bug Fixes
- Fixed error on importing
Eventsin Python3.11 (#2907) - Fixed an inefficiency in SSIM metric (#2914)
- Fixed
NeptuneSaver(#2900, #2902)
Housekeeping (docs, CI, examples, tests, etc)
- #2871, #2872, #2875, #2877, #2879, #2886, #2887, #2897, #2899, #2905, #2918, #2922, #2924
- Added CUDA 11.7 support (#2873)
- Added an example on Siamese network used for image similarity estimation task (#2882)
- Added an example on sub-pixel convolution layer which is used in vision tasks such as super-resolution (#2885)
- Added PyTorch 1.13 support (#2890)
Acknowledgments
🎉 Thanks to our community and all our contributors for the issues, PRs and 🌟 ⭐️ 🌟 !
💯 We really appreciate your implication into the project (in alphabetical order):
@AlexanderChaptykov, @DeepC004, @Hummer12007, @divij-pawar, @guptaaryan16, @kshitij12345, @moienr, @normandy7, @sadra-barikbin, @sallycaoyu, @twolodzko, @vfdev-5
New Contributors
- @twolodzko made their first contribution in #2881
- @divij-pawar made their first contribution in #2887
- @normandy7 made their first contribution in #2886
- @kshitij12345 made their first contribution in #2900
- @moienr made their first contribution in #2914
- @Hummer12007 made their first contribution in #2929
Full Changelog: v0.4.11...v0.4.12
New features, bug fixes and housekeeping
PyTorch-Ignite 0.4.11 - Release Notes
New Features
Engine and Events
- Added
beforeandafterevents filters (#2727) - Can mix
everyandbefore/afterevent filters (#2860) onceevent filter can accept a sequence of int (#2858)
# "once" event filter
@engine.on(Events.ITERATION_STARTED(once=[50, 60]))
def call_once(engine):
# do something on 50th and 60th iterations
# "before" and "after" event filter
@engine.on(Events.EPOCH_STARTED(after=10, before=30))
def call_after_and_before(engine):
# do something in 11 to 29 epoch
# Mixing "every" and "before" / "after" event filters
@engine.on(Events.EPOCH_STARTED(every=5, after=8, before=25))
def call_after_and_before_every(engine):
# do something on 9, 14, 19, 24 epochs- Improved deterministic engine (#2756)
- Grad accumulation should not effect value of loss (#2737)
- Added
model_transformincreate supervised trainer(#2848)
Distributed module
- Updated
idist.all_gatherto takegrouparg (#2715) - Updated
idist.all_reduceto takegrouparg (#2712) - Added
idist.new_groupmethod (#2711)
Metrics and handlers
- Updated
LRFinderto have more than one parameter (#2704) - Added
get_parammethod toParamGroupScheduler(#2720) - Updated Polyaxon_logger (#2776)
- Dropped
TrainsLogerandTrainsSaveralso removed the BC code (#2742) - Refactored PSNR and SSIM (#2797)
- [BC-breaking] Aligned SSIM output with PSNR output, both give tensors (#2794)
- Added distributed support to
RocCurve(#2802) - Refactored
EpochMetricand made it idempotent (#2800)
Bug fixes
- Fixed device issue with metric tests SSIM, updated PSNR (#2796)
- Fixed
LRSchedulerissue and fixed CI (#2780) - Fixed the code and now raise
ModuleNotFoundErrorinstead ofRuntimeError(#2750) - Fixed
sync_all_reduceto cover update->compute->update case (#2803)
Housekeeping (docs, CI, examples, tests, etc)
-
#2875, #2872, #2871, #2869, #2868, #2867, #2866, #2864, #2863, #2854, #2852, #2840, #2849, #2844, #2839, #2838, #2835, #2826, #2822, #2820, #2807, #2805, #2795, #2788, #2787, #2798, #2793, #2790, #2786, #2778, #2777, #2765, #2760, #2759, #2757, #2751, #2750, #2748, #2741, #2739, #2736, #2730, #2729, #2726, #2724, #2722, #2721, #2719, #2718, #2717, #2706, #2705, #2701, #2432
-
Drop python 3.7 from CI (#2836)
Acknowledgments
🎉 Thanks to our community and all our contributors for the issues, PRs and 🌟 ⭐️ 🌟 !
💯 We really appreciate your implication into the project (in alphabetical order):
@DeepC004, @JakubDz2208, @Moh-Yakoub, @RishiKumarRay, @abhi-glitchhg, @crj1998, @guptaaryan16, @louis-she, @pacificdragon, @puhuk, @sadra-barikbin, @sallycaoyu, @soma2000-lang, @theory-in-progress, @vfdev-5, @ydcjeff
New Contributors
- @JakubDz2208 made their first contribution in #2704
- @soma2000-lang made their first contribution in #2742
- @guptaaryan16 made their first contribution in #2786
- @RishiKumarRay made their first contribution in #2790
- @crj1998 made their first contribution in #2794
- @abhi-glitchhg made their first contribution in #2835
- @sallycaoyu made their first contribution in #2849
- @DeepC004 made their first contribution in #2858
- @pacificdragon made their first contribution in #2863
New features, bug fixes and housekeeping
PyTorch-Ignite 0.4.10 - Release Notes
New Features
Engine
Example:
from ignite.engine import Engine, Events
data = range(10)
max_epochs = 3
def check_input_data(e, b):
print(f"Epoch {engine.state.epoch}, Iter {engine.state.iteration} | data={b}")
i = (e.state.iteration - 1) % len(data)
assert b == data[i]
engine = Engine(check_input_data)
@engine.on(Events.ITERATION_COMPLETED(every=11))
def call_interrupt():
engine.interrupt()
print("Start engine run with interruptions:")
state = engine.run(data, max_epochs=max_epochs)
print("1 Engine run is interrupted at ", state.epoch, state.iteration)
state = engine.run(data, max_epochs=max_epochs)
print("2 Engine run is interrupted at ", state.epoch, state.iteration)
state = engine.run(data, max_epochs=max_epochs)
print("3 Engine ended the run at ", state.epoch, state.iteration)Output
Start engine run with interruptions:
Epoch 1, Iter 1 | data=0
Epoch 1, Iter 2 | data=1
Epoch 1, Iter 3 | data=2
Epoch 1, Iter 4 | data=3
Epoch 1, Iter 5 | data=4
Epoch 1, Iter 6 | data=5
Epoch 1, Iter 7 | data=6
Epoch 1, Iter 8 | data=7
Epoch 1, Iter 9 | data=8
Epoch 1, Iter 10 | data=9
Epoch 2, Iter 11 | data=0
1 Engine run is interrupted at 2 11
Epoch 2, Iter 12 | data=1
Epoch 2, Iter 13 | data=2
Epoch 2, Iter 14 | data=3
Epoch 2, Iter 15 | data=4
Epoch 2, Iter 16 | data=5
Epoch 2, Iter 17 | data=6
Epoch 2, Iter 18 | data=7
Epoch 2, Iter 19 | data=8
Epoch 2, Iter 20 | data=9
Epoch 3, Iter 21 | data=0
Epoch 3, Iter 22 | data=1
2 Engine run is interrupted at 3 22
Epoch 3, Iter 23 | data=2
Epoch 3, Iter 24 | data=3
Epoch 3, Iter 25 | data=4
Epoch 3, Iter 26 | data=5
Epoch 3, Iter 27 | data=6
Epoch 3, Iter 28 | data=7
Epoch 3, Iter 29 | data=8
Epoch 3, Iter 30 | data=9
3 Engine ended the run at 3 30
- Deprecated and replaced
Events.default_event_filterwith None (#2644) - [BC-breaking] Rewritten Engine's
terminateandterminate_epochlogic (#2645) - Improved logging time taken message showing milliseconds (#2650)
Metrics and handlers
- Added ZeRO built-in support to
Checkpointin a distributed configuration (#2658, #2642) - Added
save_on_rankargument toDiskSaverandCheckpoint(#2641) - Added a
handle_buffersoption forEMAHandler(#2592) - Improved Precision and Recall metrics (#2573)
Bug fixes
- Median metrics (e.g median absolute error) are now using
np.median-compatible torch median implementation (#2681) - Fixed issues when removing handlers on filtered events (#2690)
- Few minor fixes in Engine and Event (#2680)
- [BC-breaking] Fixed
Engine.terminate()behaviour when resumed (#2678)
Housekeeping (docs, CI, examples, tests, etc)
-
#2700, #2698, #2696, #2695, #2694, #2691, #2688, #2679, #2676, #2675, #2673, #2671, #2670, #2668, #2667, #2666, #2665, #2664, #2662, #2660, #2659, #2657, #2656, #2655, #2653, #2652, #2651, #2647, #2646, #2640, #2639, #2637, #2630, #2629, #2628, #2625, #2624, #2620, #2618, #2617, #2616, #2613, #2611, #2609, #2606, #2605, #2604, #2601, #2597, #2584, #2581, #2542
- Metrics tests improvements in DDP configuration
Acknowledgments
🎉 Thanks to our community and all our contributors for the issues, PRs and 🌟 ⭐️ 🌟 !
💯 We really appreciate your implication into the project (in alphabetical order):
@BowmanChow, @daniellepintz, @haochunchang, @kamalojasv181, @puhuk, @sadra-barikbin, @sandylaker, @sdesrozis, @vfdev-5
Features, bug fixes and housekeeping
PyTorch-Ignite 0.4.9 - Release Notes
New Features
- Added
whitelistargument to log only desired weights/grads with experiment tracking system handlers: #2550, #2523 - Added
ReduceLROnPlateauSchedulerparameter scheduler: #2449 - Added filename components in
Checkpoint: #2498 - Added missing args to
ModelCheckpoint, parity withCheckpoint: #2486 - [BC-breaking]
LRScheduleris now attachable toEvents.ITERATION_STARTED: #2496
Bug fixes
- Fixed
zero_gradplace increate_supervised_trainerresulting in grad zero logs: #2560, #2559, #2555, #2547 - Fixed bug in
Checkpointwhen loading a single non-nn.Moduleobject: #2487 - Removed warning in DDP if
Metric.reset/updateare not decorated: #2549 - [BC-breaking] Fixed SSIM metric implementation and issue with variable batch inputs: #2564, #2563
computemethod now returnsfloatinstead oftorch.Tensor
Housekeeping (docs, CI, examples, tests, etc)
- #2552, #2543, #2541, #2534, #2531, #2530, #2529, #2528, #2526, #2525, #2521, #2518, #2512, #2509, #2507, #2506, #2497, #2494, #2493, #2490, #2485, #2483, #2477, #2476, #2474, #2473, #2469, #2463, #2461, #2460, #2457, #2454, #2450, #2448, #2446, #2445, #2442, #2440, #2439, #2435, #2433, #2431, #2430, #2428, #2427,
Acknowledgments
🎉 Thanks to our community and all our contributors for the issues, PRs and 🌟 ⭐️ 🌟 !
💯 We really appreciate your implication into the project (in alphabetical order):
@Davidportlouis, @DevPranjal, @Ishan-Kumar2, @KevinMusgrave, @Moh-Yakoub, @asmayer, @divo12, @gorarakelyan, @jreese, @leotac, @nishantb06, @nmcguire101, @sadra-barikbin, @sayantan1410, @sdesrozis, @vfdev-5, @yuta0821
Mostly bug fixes
PyTorch-Ignite 0.4.8 - Release Notes
New Features
- Added data as None option to
Engine.run(#2369) - Now
Checkpoint.load_objectscan acceptstrand load the checkpoint internally (#2305)
Bug fixes
- Fixed issue with
DeterministicEngine.state_dict()(#2412) - Fixed
EMAHandlerwarm-up behaviour (#2333) - Fixed
_compute_nproc_per_nodein case of bad dist configuration (#2288) - Fixed state parameter scheduler to work with
EMAHandler(#2326) - Fixed a bug on
StateParamScheduler.attachmethod (#2316) - Fixed
ClearMLLoggerto retrieve current task before trying to create a new one (#2344) - Added hashing a checkpoint utility: #2272, #2283, #2273
- Fixed config check issue with multi-node spawn method (#2424)
Housekeeping (docs, CI, examples, tests, etc)
- Added doctests for docstrings: #2241, #2402, #2400, #2399, #2395, #2394, #2391, #2389, #2384, #2352, #2351, #2349, #2348, #2347, #2346, #2345, #2341, #2340, #2336, #2335, #2332, #2327, #2324, #2323, #2321, #2317, #2311, #2307, #2290, #2284, #2280
- #2420, #2411, #2409, #2404, #2392, #2382, #2380, #2378, #2377, #2374, #2371, #2370, #2365, #2362, #2360, #2359, #2357, #2355, #2334, #2331, #2329, #2308, #2297, #2292, #2285, #2279, #2278, #2277, #2270, #2264, #2261, #2252,
Acknowledgments
🎉 Thanks to our community and all our contributors for the issues, PRs and 🌟 ⭐️ 🌟 !
💯 We really appreciate your implication into the project (in alphabetical order):
@Abo7atm, @DevPranjal, @Eunjnnn, @FarehaNousheen, @H4dr1en, @Ishan-Kumar2, @KickItLikeShika, @Priyansi, @bibhabasumohapatra, @fco-dv, @louis-she, @sandylaker, @sdesrozis, @trsvchn, @vfdev-5, @ydcjeff