This is implmentation of our WACV2026 paper: [More Than Memory Savings: Zeroth-Order Optimization Mitigates Forgetting in Continual Learning].
Also, see requirements.txt
-
Edit the
[MODEL NAME].jsonfile for global settings and hyperparameters. -
Run:
python main.py --config=./exps/[MODEL NAME].json
For ZOFC reproductions, you can first run
- python main.py --config=./exps/newlae_hybrid_zafc_cifar_5.json
- python main.py --config=./exps/newlae_hybrid_zafc_cifar_10.json
- python main.py --config=./exps/newlae_hybrid_zafc_inr_5.json
- python main.py --config=./exps/newlae_hybrid_zafc_inr_10.json
We use Cifar100, ImageNet-R, DomainNet.
- CIFAR100: will be automatically downloaded by the code.
- ImageNet-R: Google Drive: link or Onedrive: link
- DomainNet: download from link, place it into data/ folder
These subsets are sampled from the original datasets. Please note that I do not have the right to distribute these datasets. If the distribution violates the license, I shall provide the filenames instead.
When training not on
CIFAR100, you should specify the folder of your dataset inutils/data.py.
def download_data(self):
assert 0,"You should specify the folder of your dataset"
train_dir = '[DATA-PATH]/train/'
test_dir = '[DATA-PATH]/val/'We would like to thank the following repos providing helpful components/functions in our work: