G-U-N / PyCIL

PyCIL: A Python Toolbox for Class-Incremental Learning
Other
815 stars 138 forks source link

Add AL-based CIL methods, including ACIL, GKEAL, DS-AL, and G-ACIL. #70

Closed fang-d closed 6 months ago

fang-d commented 7 months ago
  1. ACIL: Analytic Class-Incremental Learning with Absolute Memorization and Privacy Protection. NeurIPS 2022.
  2. GKEAL: Gaussian Kernel Embedded Analytic Learning for Few-Shot Class Incremental Task. CVPR 2023.
  3. DS-AL: A Dual-Stream Analytic Learning for Exemplar-Free Class-Incremental Learning. AAAI 2024.
  4. G-ACIL: Analytic Learning for Exemplar-Free Generalized Class Incremental Learning. arXiv 2024.
Estrella-fugaz commented 6 months ago

We’d appreciate your contribution to our code repository, but it will be even better if the following modifications are considered.

  1. In terms of code format, we have several suggestions: (1) In the “convs/” directory, all linear modules are supposed to be integrated into "conv/linears.py"; additionally, the filename “buffer.py” needs to be prefixed to indicate that they are specifically designed for ACIL. (2) In the “modes/” directory, we suggest that all network Classes (e.g. ACILNet, DSALNet) should be removed to “utils/inc_net.py” for consistency, methods in “models/” should focus solely on the training pipeline.
  2. Moreover, our repository aims to cover CIL works that have been published at conferences and facilitate fair comparisons under standard CIL settings. Unfortunately, it seems that some of your works may deviate from our purpose; specifically, GKEAL focuses on the few-shot learning scenario, and that G-ACIL hasn’t been accepted yet. As for these methods, we’d suggest you retain the code in your local branch. Feel free to come up with the new PR for the modified code!
fang-d commented 5 months ago

Thank @Estrella-fugaz and @zhoudw-zdw for the code review. I have started a new pull request #85, which I think fixes all these problems.