/DKT-for-CIL

PyTorch implementation of "Dataset Knowledge Transfer for Class-Incremental Learning Without Memory" (WACV2022)

Primary LanguagePython

Dataset Knowledge Transfer for Class-Incremental Learning Without Memory

Python PyTorch

[Paper] [Slides]

Summary

Introduction

This repository contains the PyTorch implementation for the WACV 2022 Paper "Dataset Knowledge Transfer for Class-Incremental Learning Without Memory". This paper is the result of an internship research project conducted at CEA-LIST. Our work tackles bias-correction in incrementally learned models when no rehearsal memory is available (check out the paper for more info!).

Feel free to open a GitHub issue if you encounter any problem with the code, or if you have any question about the paper.

Installation

Install the environments required to run the project with the following commands:

conda env create -f ./envs/FACIL.yml
conda env create -f ./envs/iCaRL.yml

For more details, read the ./envs/README.md file. You will also need to extract image lists if you want to reuse the datasets presented in our paper. In order to do that, you can check the ./datasets/README.md file.

Reproducing results

To reproduce results reported in our paper, we pre-extracted output scores on top of LUCIR and LwF and provide them in this repository for CIFAR-100 and S=10. Run the following command:

source ./scripts/run_eval.sh {lucir or lwf}

For instructions on how to train and run on top of all other methods/datasets, please read the ./scripts/README.md file.

Citation

If our paper is helpful for your work, please consider citing it!

@inproceedings{slim2022_transil,
    author    = {Slim, Habib and Belouadah, Eden and Popescu, Adrian and Onchis, Darian},
    title     = {Dataset Knowledge Transfer for Class-Incremental Learning Without Memory},
    booktitle = {The IEEE/CVF Winter Conference on Applications of Computer Vision (WACV)},
    year      = {2022}
}

Acknowledgments

This repository uses source code from repositories listed below: