-
-
Notifications
You must be signed in to change notification settings - Fork 294
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement PackNet #1496
Implement PackNet #1496
Conversation
tachyonicClock
commented
Sep 4, 2023
- The PackNet plugin is implemented inline with the PackNet module implementation. Is that okay?
a46d724
to
a8b5205
Compare
avalanche/models/packnet.py
Outdated
from avalanche.training.templates.base_sgd import BaseSGDTemplate | ||
|
||
|
||
class PackNetModule(ABC): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
when you call it Module
you mean nn.Module
? if so, it should inherit from it. Otherwise I suggest to rename it for clarity.
Hi @tachyonicClock, thanks for the PR. To add new strategies we require a script reproducing the paper's results on some benchmark to add to continual-learning-baselines. Please remember to add the doc to all the arguments and methods.
That is ok. It is a bit convoluted because the training logic is mixed between the module wrapper and the plugin but I don't think that's an issue. |
ff87b60
to
01900cf
Compare
Hi @AntonioCarta thanks for taking the time to code review. Regarding the "continual-learning-baselines" project would it be reasonable to match a survey rather than the original paper? The original paper uses a non-standard multi-dataset problem where each task is an entire dataset. |
01900cf
to
8475017
Compare
yes, a review is also fine. |
Hey @tachyonicClock, let me know when the benchmark is ready and I can do another review of the PR. |
Absolutely. I haven't forgotten about it :D, I've just been busy with other things. |
ca2935b
to
74afbb6
Compare
Pull Request Test Coverage Report for Build 6244038021
💛 - Coveralls |
I have made a pull request in the continual-learning-baselines project (ContinualAI/continual-learning-baselines#63). My implementation (46% on Split Tiny ImageNet) does not match the performance achieved in [1] (49% on Split Tiny ImageNet). Perfectly matching [1] is challenging because their benchmark used the Continual Hyperparameter Selection Framework, rather than published static hyper-parameters. [1] Delange, M., Aljundi, R., Masana, M., Parisot, S., Jia, X., Leonardis, A., Slabaugh, G., & Tuytelaars, T. (2021). A continual learning survey: Defying forgetting in classification tasks. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1–1. https://doi.org/10.1109/TPAMI.2021.3057446 |
Thanks, I think your result is ok. Hyperparameters chosen with the "Continual Hyperparameter Selection" can be optimized for each timestep, so it makes sense that your results are slightly lower. I'm going to merge this, please open the PR at continual-learning-baselines for the reproducibility script. |