{"id":13767961,"url":"https://github.com/awslabs/renate","last_synced_at":"2025-04-08T01:39:53.675Z","repository":{"id":65021933,"uuid":"557743180","full_name":"awslabs/Renate","owner":"awslabs","description":"Library for automatic retraining and continual learning","archived":false,"fork":false,"pushed_at":"2024-09-30T22:34:40.000Z","size":6899,"stargazers_count":286,"open_issues_count":42,"forks_count":6,"subscribers_count":11,"default_branch":"main","last_synced_at":"2025-03-13T02:37:54.705Z","etag":null,"topics":["aws","continual-learning","hyperparameter-tuning","hyperparameters-optimization","machine-learning","machine-learning-algorithms","neural","neural-network","pytorch","pytorch-lightning","sagemaker"],"latest_commit_sha":null,"homepage":"https://renate.readthedocs.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/awslabs.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-10-26T08:10:25.000Z","updated_at":"2025-03-01T10:50:09.000Z","dependencies_parsed_at":"2023-09-29T10:43:36.940Z","dependency_job_id":"63b50f62-413f-4950-ac87-cb26ed52da18","html_url":"https://github.com/awslabs/Renate","commit_stats":{"total_commits":252,"total_committers":10,"mean_commits":25.2,"dds":0.5873015873015873,"last_synced_commit":"6e59d3c1cfb690e80de1570c4bef7d205700b654"},"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awslabs%2FRenate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awslabs%2FRenate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awslabs%2FRenate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awslabs%2FRenate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/awslabs","download_url":"https://codeload.github.com/awslabs/Renate/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247761049,"owners_count":20991532,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","continual-learning","hyperparameter-tuning","hyperparameters-optimization","machine-learning","machine-learning-algorithms","neural","neural-network","pytorch","pytorch-lightning","sagemaker"],"created_at":"2024-08-03T16:01:14.780Z","updated_at":"2025-04-08T01:39:53.650Z","avatar_url":"https://github.com/awslabs.png","language":"Python","readme":".. image:: https://img.shields.io/pypi/status/Renate\n    :target: #\n    :alt: PyPI - Status\n.. image:: https://img.shields.io/github/v/release/awslabs/Renate\n    :target: https://github.com/awslabs/Renate/releases/tag/v0.5.1\n    :alt: Latest Release\n.. image:: https://img.shields.io/pypi/dm/Renate\n    :target: https://pypistats.org/packages/renate\n    :alt: PyPI - Downloads\n.. image:: https://img.shields.io/github/license/awslabs/Renate\n    :target: https://github.com/awslabs/Renate/blob/main/LICENSE\n    :alt: License\n.. image:: https://readthedocs.org/projects/renate/badge/?version=latest\n    :target: https://renate.readthedocs.io\n    :alt: Documentation Status\n.. image:: https://raw.githubusercontent.com/awslabs/Renate/python-coverage-comment-action-data/badge.svg\n    :target: https://htmlpreview.github.io/?https://github.com/awslabs/Renate/blob/python-coverage-comment-action-data/htmlcov/index.html\n    :alt: Coverage Badge\n\nRenate: Automatic Neural Networks Retraining and Continual Learning in Python\n******************************************************************************\n\nRenate is a Python package for automatic retraining of neural networks models.\nIt uses advanced Continual Learning and Lifelong Learning algorithms to achieve this purpose. \nThe implementation is based on `PyTorch \u003chttps://pytorch.org\u003e`_\nand `Lightning \u003chttps://www.pytorchlightning.ai\u003e`_ for deep learning, and\n`Syne Tune \u003chttps://github.com/awslabs/syne-tune\u003e`_ for hyperparameter optimization.\n\nQuick links\n===========\n* Install renate with ``pip install renate`` or look at `these instructions \u003chttps://renate.readthedocs.io/en/latest/getting_started/install.html\u003e`_\n* Examples for `local training \u003chttps://renate.readthedocs.io/en/latest/examples/train_mlp_locally.html\u003e`_ and `training on Amazon SageMaker \u003chttps://renate.readthedocs.io/en/latest/examples/train_classifier_sagemaker.html\u003e`_.\n* `Documentation \u003chttps://renate.readthedocs.io\u003e`_\n* `Supported Algorithms \u003chttps://renate.readthedocs.io/en/latest/getting_started/supported_algorithms.html\u003e`_\n\n\nWho needs Renate?\n=================\n\nIn many applications data is made available over time and retraining from scratch for\nevery new batch of data is prohibitively expensive. In these cases, we would like to use\nthe new batch of data provided to update our previous model with limited costs.\nUnfortunately, since data in different chunks is not sampled according to the same distribution,\njust fine-tuning the old model creates problems like *catastrophic forgetting*.\nThe algorithms in Renate help mitigating the negative impact of forgetting and increase the \nmodel performance overall. \n\n.. figure:: https://raw.githubusercontent.com/awslabs/Renate/main/doc/_images/improvement_renate.svg\n    :align: center\n    :alt: Renate vs Model Fine-Tuning.\n\n    Renate's update mechanisms improve over naive fine-tuning approaches. [#]_\n\nRenate also offers hyperparameter optimization (HPO), a functionality that can heavily impact\nthe performance of the model when continuously updated. To do so, Renate employs\n`Syne Tune \u003chttps://github.com/awslabs/syne-tune\u003e`_ under the hood, and can offer\nadvanced HPO methods such multi-fidelity algorithms (ASHA) and transfer learning algorithms\n(useful for speeding up the retuning).\n\n.. figure:: https://raw.githubusercontent.com/awslabs/Renate/main/doc/_images/improvement_tuning.svg\n    :align: center\n    :alt: Impact of HPO on Renate's Updating Algorithms.\n\n    Renate will benefit from hyperparameter tuning compared to Renate with default settings. [#]_\n\n\nKey features\n============\n\n* Easy to scale and run in the cloud\n* Designed for real-world retraining pipelines\n* Advanced HPO functionalities available out-of-the-box\n* Open for experimentation \n\nResources\n=========\n\n* (blog) `Automatically retrain neural networks with Renate \u003chttps://aws.amazon.com/blogs/machine-learning/automatically-retrain-neural-networks-with-renate/\u003e`_\n* (paper) `Renate: A Library for Real-World Continual Learning \u003chttps://arxiv.org/abs/2304.12067\u003e`_\n\nCite Renate\n===========\n\n    .. code-block:: bibtex\n    \n      @misc{renate2023,\n        title           = {Renate: A Library for Real-World Continual Learning}, \n        author          = {Martin Wistuba and\n                           Martin Ferianc and\n                           Lukas Balles and\n                           Cedric Archambeau and\n                           Giovanni Zappella},\n        year            = {2023},\n        eprint          = {2304.12067},\n        archivePrefix   = {arXiv},\n        primaryClass    = {cs.LG}\n      }\n\nWhat are you looking for?\n=========================\n\n* `Installation Instructions \u003chttps://renate.readthedocs.io/en/latest/getting_started/install.html\u003e`_\n    .. code-block:: bash\n\n      pip install renate\n\n* Examples:\n    * `Train an MLP locally on MNIST \u003chttps://renate.readthedocs.io/en/latest/examples/train_mlp_locally.html\u003e`_\n    * `Train a ResNet on SageMaker \u003chttps://renate.readthedocs.io/en/latest/examples/train_classifier_sagemaker.html\u003e`_\n* `Documentation website with API doc and examples \u003chttps://renate.readthedocs.io\u003e`_\n* `List of the supported algorithms \u003chttps://renate.readthedocs.io/en/latest/getting_started/supported_algorithms.html\u003e`_\n* `How to run continual learning experiments using Renate \u003chttps://renate.readthedocs.io/en/latest/benchmarking/index.html\u003e`_\n* `Guidelines for Contributors \u003chttps://github.com/awslabs/renate/tree/master/CONTRIBUTING.md\u003e`_\n\nIf you did not find what you were looking for, open an `issue \u003chttps://github.com/awslabs/Renate/issues/new\u003e`_ and\nwe will do our best to improve the documentation.\n\n\n.. [#] To create this plot, we simulated domain-incremental learning with `CLEAR-100 \u003chttps://clear-benchmark.github.io/\u003e`_.\n    The training data was divided by year, and we trained sequentially on them.\n    Fine-tuning refers to the strategy to learn on the first partition from scratch, and\n    train on each of the subsequent partitions for few epochs only.\n    We compare to Experience Replay with an infinite memory size.\n    For both methods we use the same amount of training time and choose the best checkpoint\n    using a validation set.\n    Results reported are on the test set.\n\n.. [#] In this experiment, we consider class-incremental learning on CIFAR-10. We compare\n    Experience Replay against a version in which its hyperparameters were tuned.\n","funding_links":[],"categories":["Pytorch \u0026 related libraries"],"sub_categories":["Other libraries:"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fawslabs%2Frenate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fawslabs%2Frenate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fawslabs%2Frenate/lists"}