Releases: ContinualAI/avalanche
v0.6.0
What's Changed
- Started development version for 0.5.0a by @AndreaCossu in #1607
- Changes in Dynamic Modules by @AlbinSou in #1600
- Add support for multiple param groups by @AlbinSou in #1609
- Updatable objects by @AntonioCarta in #1633
- PNN adapter arguement missing in the init() method #1625 by @Chillthrower in #1637
- task_labels experience attribute type fix: now it is a list, not a set by @vlomonaco in #1646
- Improved Efficiency of the DiskUsage Metric by @vlomonaco in #1647
- Generative Replay with weighted loss for replayed data by @gogamid in #1596
- support benchmark without task labels in avalanche.strategies by @AntonioCarta in #1652
New Contributors
- @Chillthrower made their first contribution in #1637
Full Changelog: v0.5.0...v0.6.0
v0.5.0
Breaking Changes
- removed support for python 3.7 #1521
- A simplified benchmarks API. Some of the old benchmark constructors are now under
avalanche.benchmarks.scenarios.deprecated
as a result of the change. #1511
New Features
-
support for python 3.11
-
ER-AML #1472
-
PackNet #1496
-
NewClassesCrossEntropy criterion and automatic criterion plugin #1514
-
CIL Examplar Free components #1528
-
Feature replay and feature distillation (CIL Exfree) #1535
-
Continuous Task-Agnostic Scenario #1336
-
FFCV support for faster dataloading #1439
What's Changed
- Updated avalanche main version to latest by @AndreaCossu in #1484
- Earlystopping patch by @scumatteo in #1487
- er-aml implementation by @GeremiaPompei in #1472
- FFCV support by @lrzpellegrini in #1439
- slightly faster and easier doc build by @AntonioCarta in #1488
- Update clear_data.py by @linzhiqiu in #1499
- Implement PackNet by @tachyonicClock in #1496
- Some minor fixes in batch_observation and utils by @AlbinSou in #1513
- Ffcv improvements by @lrzpellegrini in #1516
- WIP: New benchmarks API by @AntonioCarta in #1511
- remove py 3.7 from CI by @AntonioCarta in #1521
- Update FZTH tutorials by @HamedHemati in #1522
- Update gitbook assets by @HamedHemati in #1523
- Added NewClassesCrossEntropy criterion and automatic criterion plugin by @AlbinSou in #1514
- proper conversion of Tensor to list by @malashinroman in #1524
- Continuous Task-Agnostic Scenario by @HamedHemati in #1336
- Update Documentation by @HamedHemati in #1527
- CIL Examplar Free components by @AlbinSou in #1528
- Update clear_data.py by @viajeraune in #1545
- fix dataloading_buffers_replay.ipynb notebook by @gogamid in #1555
- update python version requirements by @AntonioCarta in #1559
- Update 3 11 by @AntonioCarta in #1562
- Major BiC fix/reimplementation by @lrzpellegrini in #1550
- install all dependencies with pip by @AntonioCarta in #1568
- Improve support for PyTorch 2.* and Python>=3.8 by @lrzpellegrini in #1571
- Improvements of the checkpoint functionality and memory occupation of DER by @lrzpellegrini in #1567
- Feature replay and feature distillation (CIL Exfree) by @AlbinSou in #1535
- WIP: Remove conda files by @AntonioCarta in #1561
- Fix install issue of quadprog when using Python 3.11 by @lrzpellegrini in #1574
- Fix quadrprog dependency in CI by @lrzpellegrini in #1575
- FZTH Notebooks for the New Release by @HamedHemati in #1589
- Fix multiple inheritance in Python 3.11 by @lrzpellegrini in #1587
New Contributors
- @GeremiaPompei made their first contribution in #1472
- @malashinroman made their first contribution in #1524
- @viajeraune made their first contribution in #1545
- @gogamid made their first contribution in #1555
Full Changelog: v0.4.0...v0.5.0
v0.4.0
New Features
Strategies
Metrics
Performance Improvements
What's Changed
- Fixed cope plugin by @AlbinSou in #1285
- Add
FromScratchTrainingPlugin
by @HamedHemati in #1288 - Fixed TensorImage being treated as an unsupported logging type by @BenCrulis in #1293
- Update benchmarks.md by @eltociear in #1294
- replay fix proposition by @AlbinSou in #1287
- Update OnlineObservation and Template Docstrings by @HamedHemati in #1297
- ER-ACE criterion simplification by @AlbinSou in #1313
- L2p by @JuliousHurtado in #1302
- replace lambda functions with pickle compatible equivalent. by @DanielAnthes in #1311
- Allow setting prefetch_factor for multiprocessing by @DanielAnthes in #1320
- Removed cope warning after bug fix by @AndreaCossu in #1321
- Storage patch by @scumatteo in #1334
- Added DER strategy by @AlbinSou in #1314
- Remove
higher
dependency by @HamedHemati in #1326 - fixed mir unused subsample argument by @AlbinSou in #1341
- Faster checkpointing and simpler API by @AntonioCarta in #1338
- greatly speeed up logging by disabling flushing by @AntonioCarta in #1344
- Refactor CLEAR Benchmark based on the official webpage by @jd730 in #1345
- Fix for Issue #1353 by @HeLehm in #1354
- New Question Answering example. New wrapper for Huggingface Datasets by @MickHardins in #1350
- Update .gitignore by @HamedHemati in #1358
- Typing system overhaul. Improve support for object detection scenarios. by @lrzpellegrini in #1333
- Forward class_id_from_zero_in_each_exp to nc_benchmark in classical benchmarks by @AlbinSou in #1367
- Cumulative accuracies by @AlbinSou in #1339
- Fix issue #1371 by @lrzpellegrini in #1372
- Fix issue #1232. Added unit tests. by @lrzpellegrini in #1375
- Add base elements to support distributed comms. Add supports_distributed plugin flag. by @lrzpellegrini in #1370
- Speed up nc_scenario for larger datasets by @niniack in #1381
- Sample Order in OnlineCLScenario by @HamedHemati in #1385
- remove OnlineSupervisedTemplate by @AlbinSou in #1362
- Add Expert Gate to Avalanche by @niniack in #1048
- Matrix acc by @JuliousHurtado in #1376
- Add a variable to control whether to retain the graph or not in the backward pass by @BenCrulis in #1388
- Faster attributes by @AntonioCarta in #1383
- FIX: Make optimizer now changes optimized_param_id in place by @AlbinSou in #1394
- BugFix OnlineTemplate missing model adaptation call by @AlbinSou in #1396
- Supervised Contrastive Replay implementation. by @AndreaCossu in #1356
- NCM Classifier uses dictionary and can update means by @AndreaCossu in #1405
- Shuffling dataset when updating GEM memory by @AndreaCossu in #1407
- removed drop_last forwarding from make_eval_dataloader by @AlbinSou in #1408
- Minor Fix for EWC by @HamedHemati in #1409
- Replay flattening by @AntonioCarta in #1414
- faster indices for FlatData with lazy operations by @AntonioCarta in #1416
- change to cumulative accuracy by @AlbinSou in #1419
- Added NCM replace dictionary and used in icarl by @AndreaCossu in #1427
- small refactor and cumulative accuracy fix by @AlbinSou in #1426
- Fixed icarl by converting back TrainEvalModel to DynamicModule by @AndreaCossu in #1428
- Streamline data loaders by @lrzpellegrini in #1429
- Fixed issues with 0 length samplers by @lrzpellegrini in #1437
- switch to black formatting by @AntonioCarta in #1398
- Rar merge by @JuliousHurtado in #1424
- add a momentum parameter for the class mean update by @AlbinSou in #1438
- Fix integration with IncrementalClassifier by @JuliousHurtado in #1447
- Fix MER by @AlbinSou in #1446
- turn ncm to dynamic module that adapts with 0 vectors at evaluation by @AlbinSou in #1458
- Various fixes and improvements by @lrzpellegrini in #1463
- Speedup for long benchmarks iteration by @lrzpellegrini in #1464
- Fix setup.py and environment files by @AlbinSou in #1471
- Release fixes by @AntonioCarta in #1473
- Extend unit tests to confirm resolution of #1104 by @lrzpellegrini in #1475
New Contributors
- @eltociear made their first contribution in #1294
- @DanielAnthes made their first contribution in #1311
- @scumatteo made their first contribution in #1334
- @jd730 made their first contribution in #1345
- @HeLehm made their first contribution in #1354
- @MickHardins made their first contribution in #1350
Full Changelog: v0.3.1...v0.4.0
Beta v0.3.1
Fixed minor problem during pip installation
Beta v0.3.0
Improved performance for several benchmarks:
- Permuted MNIST #1129
- Online Continual Learning scenarios #1217
Refactoring of the AvalancheDataset (see related how-to) - better support for non-vision data such as Huggingface datasets (see nlp.py)
- optional task labels and class labels
- performance improvements
New strategies: - BiC #1193
- MER #1227
- MIR #1201
- ER-ACE
General strategy improvements: - general meta-learning support
- Checkpointing support
Continual-Learning-Baselines: increased number of baselines and fixed most of the performance issues. All the new strategies will be reproduced at continual-learning-baselines.
What's Changed
- Added release process description by @AndreaCossu in #1064
- Fixed extra dependencies build by @AndreaCossu in #1066
- Outdated imports of
training.strategies
fixed in docstring and gitbook by @alexsosn in #1072 - Update online strategy profiler by @HamedHemati in #1082
- FIX MultiTaskDecorator by @AntonioCarta in #1085
- AvalancheDatasetType removal, dataset collate_fn used in dataloading during training and eval, sequential benchmark by @AndreaCossu in #1089
- Packaged csv files for mini imagenet by @AndreaCossu in #1091
- Implement sampler-based dataloading logic by @lrzpellegrini in #1095
- MultiTask Improvements by @AntonioCarta in #1090
- Minor fix to a unittest that left text files in the project directory. by @lrzpellegrini in #1102
- Fixed EWC bug in importances, converted Permuted and Rotated MNIST targets in 0-9 by @AndreaCossu in #1101
- Fix
JointStrategy
and update strategy tests by @HamedHemati in #1112 - Removed warning about SI by @AndreaCossu in #1120
- Add
class_ids_from_zero_in_each_exp
to classic benchmarks by @HamedHemati in #1140 - Drop support for Python 3.6 by @lrzpellegrini in #1143
- Optional task and class labels in AvalancheDataset #1118 by @AntonioCarta in #1142
- FIX multitask Lwf and add regularization method interface by @AntonioCarta in #1149
- Fixed lwf bug for alpha and prev classes per task dict by @AndreaCossu in #1155
- New mixin-based template structure by @HamedHemati in #1092
- Add repr and str special methods to DataAttribute by @HamedHemati in #1160
- Fix bug, avoid OOM by @Cocoxili in #1167
- Checkpointing support by @lrzpellegrini in #1122
- huggingface and dictionary datasets support by @AntonioCarta in #1173
- Add ParamData to manage expansion of data associated to model parameters by @AndreaCossu in #1161
- Temporary workaround for unit test issues by @lrzpellegrini in #1187
- Ensures r_max and d_max are on the same device as the rest of the variables in BatchRenorm2D by @BenCrulis in #1188
- Make AR1 closer to the original implementation by @BenCrulis in #1196
- ADD function to set dataset root by @AntonioCarta in #1202
- Add checkpointing tests for environment update action. by @lrzpellegrini in #1206
- FIX eval_streams by @AntonioCarta in #1216
- Bic by @JuliousHurtado in #1193
- Maximally Interfered Retrieval plugin by @AlbinSou in #1201
- speed up dataset concat in OCL scenarios by @AntonioCarta in #1217
- MER Strategy + OnlineSupervisedMetaLearning Template by @HamedHemati in #1227
- Issue Fix for OCL by @HamedHemati in #1225
- Remove
Kinetics
dataset wrapper by @HamedHemati in #1228 - Added TensorMNIST to speed up computation, minor fix in agem and mas by @AndreaCossu in #1229
- update avalanche-datasets how-to by @AntonioCarta in #1234
- First update of apidoc by @AndreaCossu in #1235
- Updated evaluation and logging notebooks to release 0.3.0 by @AndreaCossu in #1236
- update apidoc by @AntonioCarta in #1237
- add init.py to determinism by @Cocoxili in #1222
- Update FZTH notebooks by @HamedHemati in #1240
- Modernization/fix of examples for upcoming release. by @lrzpellegrini in #1244
- Adding ER-ACE strategy by @AlbinSou in #1230
- update benchmarks notebook to 0.0.3 by @AntonioCarta in #1245
- Modernization of examples for v0.0.3 release (part 2) by @lrzpellegrini in #1250
- Fix MIR potential infinite loop by @AlbinSou in #1251
- update and fix avl examples by @AntonioCarta in #1252
- Checkpointing notebook and better InteractiveLogger resume by @lrzpellegrini in #1253
New Contributors
- @alexsosn made their first contribution in #1072
- @Cocoxili made their first contribution in #1167
- @BenCrulis made their first contribution in #1188
Full Changelog: v0.2.0...v0.3.0
Beta 0.2.1
Fixed a critical bug in EWC.
Beta 0.2.0
Release Statement
We are excited to release the new version of Avalanche (0.2.0).
This release brings many new features, including new strategies, benchmarks, and an overall improved support for several settings such as online CL, object detection, reinforcement learning.
We are also focusing on ensuring that Avalanche baselines are correct and reproducible. You can test our repoducible experiments at the continual-learning-baselines repository.
New Features
Benchmarks
- CLEAR-10 benchmark #965 #972 #975 #1029
- CTrL benchmark #561
- ExML scenarios #977
- Reinforcement Learning Scenarios #984
- Online Continual Learning Scenarios #977
- Object Detection Scenarios
- New generic scenarios definition #977 #1011
Training - Strategies
Training - Plugins and API
ReduceLROnPlateau
plugin. #859- Improved support for Online Continual Learning. #880 #894 #1024
- Early stopping & model checkpoint on iterations #887
- Feat/add margin to early stopping #993
- LR Scheduler: added iteration granularity, exp0 and epoch0-only options #946
- New base strategy templates #902 #915 #1002
- Update ReplayPlugin and ReplayDataLoader #905
- Object Detection support #916 #917 #922 #933 #939 #947 #963 #920
Logging and Evaluation
- Add Experience-Change Logging to WandBLogger #875
- evaluation can log metric values from anywhere #877
- added the possibility to call the periodic evaluation after iterations instead of epochs. #843
- Implementation of the top-k accuracy for Avalanche #941
Documentation
- Improved API documentation. #852 #1019 #1031
- Improved main avalanche website and FZTH notebooks #866 #871 #914 #1031
- Added how-to notebooks.
What's Changed
- periodic eval after eval_every iteration by @AntonioCarta in #843
- Support for ReduceLROnPlateau scheduler by @lrzpellegrini in #859
- GitBook: fixed a bug in documentation by @zalakbhalani in #866
- Prevent TensorboardLogger from blocking the process exit by @lrzpellegrini in #865
- Fixing issue#771: concat_datasets_sequentially discards classes by @ashok-arjun in #844
- add CTrL integration by @TomVeniat in #561
- Fix bug in Zero to Hero Benchmarks Tutorial by @niniack in #871
- Add force_data_batch_size to ReplayPlugin for manual assignment of data-mem ratio by @HamedHemati in #834
- Add Experience-Change Logging to WandBLogger by @HamedHemati in #875
- evaluation can receive metric values from anywhere by @AntonioCarta in #877
- Initialize BaseOnlineStrategy by @HamedHemati in #880
- Early stopping & model checkpoint on iterations by @AntonioCarta in #887
- Pnn fix by @AntonioCarta in #882
- Fixed periodic eval in joint training by @AndreaCossu in #893
- Initialize profiling + online strategy profiler by @HamedHemati in #894
- MLP dropout rate by @zaf-stojano in #896
- New base strategy templates by @AntonioCarta in #902
- ADD new test by @AntonioCarta in #908
- Update ReplayPlugin and ReplayDataLoader by @HamedHemati in #905
- Set
num_workers=0
in all tests by @HamedHemati in #911 - Modified avalanche installation in notebooks to beta version by @AndreaCossu in #914
- Minor bug fix in the
base_sgd
template by @HamedHemati in #915 - Fix target transform bug by @tachyonicClock in #923
- fix raise AttributeError inside evaluation by @AntonioCarta in #924
- Fix bugs in CORe50 and openloris datasets by @ggraffieti in #929
- fix EWC with dynamic models by @AntonioCarta in #925
- Added lvis dependency by @lrzpellegrini in #939
- Removed plugin metric tests by @AndreaCossu in #940
- Various fixes and enhancements for the data loading process by @lrzpellegrini in #938
- LR Scheduler: added iteration granularity, exp0 and epoch0-only options by @lrzpellegrini in #946
- Add torchmetrics dependency. Align lines in environment(-dev).yml by @lrzpellegrini in #947
- Set num workers to 0 in AGEM buffer dataloader by @AndreaCossu in #951
- Memory Aware Synapses by @rmassidda in #945
- Implementation of the top-k accuracy for Avalanche by @rudysemola in #941
- Consolidating changes from the detection branch by @lrzpellegrini in #933
- Support for persistent workers in object detection template. by @lrzpellegrini in #963
- Add RWalk implementation and example by @flandolfi in #962
- LaMAML Strategy by @HamedHemati in #968
- Adding CLEAR-10 benchmark to Avalanche by @linzhiqiu in #965
- Updated packages in doc by @AndreaCossu in #973
- Generative Replay by @travela in #931
- Add training example for CLEAR benchmark and fix root path issue by @linzhiqiu in #972
- Update benchmark.rst for CLEAR benchmark by @linzhiqiu in #975
- Proposal: New generic scenarios & ExML scenarios by @AntonioCarta in #977
- Deterministic test accuracy by @ggraffieti in #980
- Fixed task label bug in metric name by @AndreaCossu in #986
- Add RLScenario for Avalanche RL by @NickLucche in #984
- Feat/add margin to early stopping by @evertonaleixo in #993
- Fix Templates type hints by @NickLucche in #1002
- Enable single experience training in JointTraining by @HamedHemati in #1006
- Add Generics for new benchmark components by @NickLucche in #1011
- Fix bug in cwr star plugin by @ggraffieti in #1008
- Fix bug in periodic eval - number of worker not passed to the eval method by @ggraffieti in #1012
- Refactor the CLEAR training example by @linzhiqiu in #1015
- apidoc improvements by @AntonioCarta in #1019
- [add] clear100_cvpr2022 workshop split by @ElvishElvis in #1029
- Evaluation and Logging: Updated FZTH and APIDoc for release 0.2.0 by @AndreaCossu in #1031
- Output mask for IncrementalClassifier and MultiHeadClassifier by @AntonioCarta in #1027
- Adapt some FZTH notebooks by @lrzpellegrini in #1034
- Fix apidoc by @AntonioCarta in #1033
- Examples in docs by @niniack in #1022
- Minor Fix in Examples by @JuliousHurtado in #1035
- Fix "training" and "putting it all together" notebooks from the FZTH tutorial by @ggraffieti in #1036
- Removed edit on github button and fixed default shuffle description by @AndreaCossu in #1042
- Update
OnlineSupervisedTemplate
by @HamedHemati in #1024 - FIX examples and lwf by @AntonioCarta in #1045
- Optional Depencencies by @ggraffieti in #1043
- FIX exml benchmarks by @AntonioCarta in #1046
- Fixed ewc plugin for growing multitask head by @AlbinSou in #1047
- Added learn avalanche in 5 minutes notebook by @AndreaCossu in #1049
- Fake commit to copy notebook by @AndreaCossu in #1052
- Added link to colab by @AndreaCossu in #1053
- Support py3.10 and warning for cope by @AndreaCossu in https:/...
Beta release
Beta release
Alpha Release
Avalanche is a framework in constant development and supported by 15+ organizations. Thanks to the support of the ContinualAI community and its active members we plan to extend its features and improve its usability based on the demands of our research community!
A the moment, Avalanche is in Alpha (v0.0.1), but we already support a number of Benchmarks, Strategies and Metrics, that makes it, we believe, the best tool out there for your continual learning research! 💪
Check out what we support for this release in details, and please let us know if you think we are missing out something important! We deeply value your feedback!