This is a PyTorch implementation of the SIESTA algorithm from our TMLR-2023 paper. An arXiv pre-print of our paper is available.
SIESTA is a wake/sleep based online continual learning algorithm and designed to be computationally efficient for resource-constrained applications such as edge devices, mobile phones, robots, AR-VR and so on. It is capable of rapid online learning and inference while awake, but has periods of sleep where it performs offline memory consolidation.
Download pre-trained MobileNetV3-L and Optimized Product Quantization (OPQ) models form this link.
The conda environment that we used for SIESTA has been shared in the GitHub repository.
The yml file mobnetenv.yml
includes all the libraries. We have tested the code with the packages and versions
specified in the yml file. We used GPU version of the FAISS library, pip install faiss-gpu
.
We recommend setting up a conda
environment using the mobnetenv.yml
file:
conda env create -f mobnetenv.yml
Thanks for the great code base from REMIND
If using this code, please cite our paper.
@article{harun2023siesta,
title={{SIESTA}: Efficient Online Continual Learning with Sleep},
author={Md Yousuf Harun and Jhair Gallardo and Tyler L. Hayes and Ronald Kemker and Christopher Kanan},
journal={Transactions on Machine Learning Research},
issn={2835-8856},
year={2023},
url={https://openreview.net/forum?id=MqDVlBWRRV},
note={}
}