The official PyTorch code for 'DER: Dynamically Expandable Representation for Class Incremental Learning' accepted by CVPR2021

Overview

DER.ClassIL.Pytorch

This repo is the official implementation of DER: Dynamically Expandable Representation for Class Incremental Learning (CVPR 2021)

Dataset

Training

  • Change to corresponding directory and run the following commands
sh scripts/run.sh

Inference

Inference command:

sh scripts/inference.sh

Tips

  • create a new exp folder
rsync -rv --exclude=tensorboard --exclude=logs --exclude=ckpts --exclude=__pycache__ --exclude=results --exclude=inbox ./codes/base/ ./exps/der_womask/10steps/trial0

Acknowledgement

Thanks for the great code base from https://github.com/arthurdouillard/incremental_learning.pytorch.

Citation

If you are using the DER in your research or with to refer to the baseline results published in this repo, please use the following BibTex entry.

@article{yan2021dynamically,
  title={DER: Dynamically Expandable Representation for Class Incremental Learning},
  author={Yan, Shipeng and Xie, Jiangwei and He, Xuming},
  booktitle={Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
  year={2021}
}
Comments
  • 50 initial classes then 50 increments of 1 class

    50 initial classes then 50 increments of 1 class

    Have you try (using your terminology) B50 50 steps?

    It's quite challenging and models follow there a different regimes, I'd be interested to know your results.

    opened by arthurdouillard 6
  • Subset of Classes Used for ImageNet-100

    Subset of Classes Used for ImageNet-100

    Hello, Which subset of classes of the full ImageNet-1000 did you use for ImageNet-100? Is it the first 100 classes in alphabetical order of the folder names? Thanks!

    opened by ardywibowo 3
  • Can you release some configuration files first?

    Can you release some configuration files first?

    Thank you for this nice work!

    I am trying to reproduce some comparison methods using the code and configurations from arthurdouillard/incremental_learning.pytorch. But the results in b0 setting are very different from what are reported in your paper. I guess the main reason is the configuration for some hyperparameters. I believe you have carefully tuned these parameters in b0 setting.

    Since you said that your code is also based on arthurdouillard/incremental_learning.pytorch, I am wondering if it is possible for you to release some configuration files first so that we reproduce some results using your setting and arthurdouillard's code?

    Thank you so much!

    opened by BinahHu 3
  • question

    question

    After reading your paper, I have some questions 1.What is the accuracy of the model without the warm-up strategy? 2.What is the data enhancement used by the model? 3.What is the number of images stored?

    opened by DRSAD 2
  • Weight-Alignement model

    Weight-Alignement model

    I've been trying to reproduce your results of WA using my codebase (original inclearn) unsuccessfully.

    And when I'm looking at your codebase I see that WA is not yet implemented? The distillation https://github.com/Rhyssiyan/DER-ClassIL.pytorch/blob/main/inclearn/models/incmodel.py#L73 is never used. Am I missing something or did you not yet uploaded the code & configs of your baselines?

    opened by arthurdouillard 1
  • Class ordering on CIFAR100

    Class ordering on CIFAR100

    Hey,

    I see that your paper states that on CIFAR100-B0 you averaged three runs (cf caption of table 1). However in datasets.py, the dataset is defined with three runs (two news runs, and the three from PODNet).

    Can I assume you only used the three from PODNet?

    Thanks!

    opened by arthurdouillard 1
  • Could you provide the data of the curve figure?

    Could you provide the data of the curve figure?

    I want to compare based on the data you reported (reproduction methods and your method). Can you provide the accurate data of the graph in the paper and the appendix? Thank you!

    Another question is the data in the figure is the average of the three orders given by PODNet?

    opened by zihuanqiu 0
  • Latency

    Latency

    In appendix D, you write that your method process 1.07ms/image vs an usual ResNet at 0.99ms/image.

    With how many pruned resnet (and thus how many tasks) is the 1.07ms/image produced? I guess that DER after 50 tasks should be slower (at least a little) than DER after 2 tasks. (do you have numbers about speed w.r.t number of tasks?)

    Thanks!

    opened by arthurdouillard 0
  • Final accuracy

    Final accuracy

    Hello,

    Can you provide the final accuracy (not the avg) for all models (or at least for DER) on all settings of CIFAR and ImageNet please? Otherwise I'm relying on the graphs but it's not 100% accurate.

    Thank you very much!

    opened by arthurdouillard 0
  • Some doubt

    Some doubt

    Why in Table 1, the capacity of 5 steps OURS (W/O P) model is 33.6 instead of 11.2x5=56? But in Table 2, the capacity of Ours (W/O P) model of 2 steps is 11.2x2=22.4?

    Does the baseline use the same class order for all?

    opened by DRSAD 0
  • Could you please provide requirements.txt or environment.yml for environment dependencies?

    Could you please provide requirements.txt or environment.yml for environment dependencies?

    I ran into endless errors while run code sh scripts/run.sh, such as easydict, tensorboardx missing, and sacred version conflict with python 3.10, etc.

    Could you please provide your requirements.txt or environment.yml for environment dependencies, even pip list result.

    Thanks for your help.

    opened by ahaqxjl 0
  • Configuration for ImageNet-100 experiment

    Configuration for ImageNet-100 experiment

    Sorry to bother you, I wasn't able to reproduce the ImageNet-100 results. I'm using the config imagenet-100/b0_10s/configs/ without any change.

    For the first task, I'm getting only 90.4% top1 accuracy vs. ~98% shown in Figure 6, and the final top1 accuracy 71.24% vs. 77.18% in Table 3.

    Am I missing something?

    opened by BIGyellowPIE 0
  • Could u pls share ur ICARL implementation?

    Could u pls share ur ICARL implementation?

    I found in ur table 7 or original icarl paper. 10 task. Cifar100-B0. 32-layer ResNet.

    I cannot achieve the results about 64.04.

    Or give some insights?

    opened by qsunyuan 0
  • Pruning and its real final parameters count and latency

    Pruning and its real final parameters count and latency

    Hello,

    Followings our emails, can you provide at some point:

    • the pruning implementation (which is core to your method)
    • the final parameters count (in all settings and datasets), and not the average over all steps
    • same for the latency, or at least the overhead in % induced after each task

    Thank you very much!

    opened by arthurdouillard 0
  • Configuration for ImageNet-1000 experiment

    Configuration for ImageNet-1000 experiment

    Hello, I modified the ImageNet-100 config file to ImageNet-1000 following the supplementary implementation details and didn't get the results in the paper. Was there anything in addition that I need to do? Can you share the ImageNet-1000 configuration?

    Thanks so much!

    opened by ardywibowo 1
Owner
rhyssiyan
rhyssiyan
The code repository for "PyCIL: A Python Toolbox for Class-Incremental Learning" in PyTorch.

PyCIL: A Python Toolbox for Class-Incremental Learning Introduction • Methods Reproduced • Reproduced Results • How To Use • License • Acknowledgement

Fu-Yun Wang 258 Dec 31, 2022
Official repository of the paper 'Essentials for Class Incremental Learning'

Essentials for Class Incremental Learning Official repository of the paper 'Essentials for Class Incremental Learning' This Pytorch repository contain

null 33 Nov 27, 2022
Official Implementation of CVPR 2022 paper: "Mimicking the Oracle: An Initial Phase Decorrelation Approach for Class Incremental Learning"

(CVPR 2022) Mimicking the Oracle: An Initial Phase Decorrelation Approach for Class Incremental Learning ArXiv This repo contains Official Implementat

Yujun Shi 24 Nov 1, 2022
This is the formal code implementation of the CVPR 2022 paper 'Federated Class Incremental Learning'.

Official Pytorch Implementation for GLFC [CVPR-2022] Federated Class-Incremental Learning This is the official implementation code of our paper "Feder

Race Wang 57 Dec 27, 2022
Implementation of the paper "Self-Promoted Prototype Refinement for Few-Shot Class-Incremental Learning"

Self-Promoted Prototype Refinement for Few-Shot Class-Incremental Learning This is the implementation of the paper "Self-Promoted Prototype Refinement

Kai Zhu 78 Dec 2, 2022
HGCAE Pytorch implementation. CVPR2021 accepted.

Hyperbolic Graph Convolutional Auto-Encoders Accepted to CVPR2021 ?? Official PyTorch code of Unsupervised Hyperbolic Representation Learning via Mess

Junho Cho 37 Nov 13, 2022
Spherical Confidence Learning for Face Recognition, accepted to CVPR2021.

Sphere Confidence Face (SCF) This repository contains the PyTorch implementation of Sphere Confidence Face (SCF) proposed in the CVPR2021 paper: Shen

Maths 70 Dec 9, 2022
[CVPR2021] The source code for our paper 《Removing the Background by Adding the Background: Towards Background Robust Self-supervised Video Representation Learning》.

TBE The source code for our paper "Removing the Background by Adding the Background: Towards Background Robust Self-supervised Video Representation Le

Jinpeng Wang 150 Dec 28, 2022
Code for "Learning Structural Edits via Incremental Tree Transformations" (ICLR'21)

Learning Structural Edits via Incremental Tree Transformations Code for "Learning Structural Edits via Incremental Tree Transformations" (ICLR'21) 1.

NeuLab 40 Dec 23, 2022
Official PyTorch implementation of the preprint paper "Stylized Neural Painting", accepted to CVPR 2021.

Official PyTorch implementation of the preprint paper "Stylized Neural Painting", accepted to CVPR 2021.

Zhengxia Zou 1.5k Dec 28, 2022
Official PyTorch implementation of the paper "Recycling Discriminator: Towards Opinion-Unaware Image Quality Assessment Using Wasserstein GAN", accepted to ACM MM 2021 BNI Track.

RecycleD Official PyTorch implementation of the paper "Recycling Discriminator: Towards Opinion-Unaware Image Quality Assessment Using Wasserstein GAN

Yunan Zhu 23 Nov 5, 2022
🔥 TensorFlow Code for technical report: "YOLOv3: An Incremental Improvement"

?? Are you looking for a new YOLOv3 implemented by TF2.0 ? If you hate the fucking tensorflow1.x very much, no worries! I have implemented a new YOLOv

null 3.6k Dec 26, 2022
This repository contains the official implementation code of the paper Improving Multimodal Fusion with Hierarchical Mutual Information Maximization for Multimodal Sentiment Analysis, accepted at EMNLP 2021.

MultiModal-InfoMax This repository contains the official implementation code of the paper Improving Multimodal Fusion with Hierarchical Mutual Informa

Deep Cognition and Language Research (DeCLaRe) Lab 89 Dec 26, 2022
An official source code for paper Deep Graph Clustering via Dual Correlation Reduction, accepted by AAAI 2022

Dual Correlation Reduction Network An official source code for paper Deep Graph Clustering via Dual Correlation Reduction, accepted by AAAI 2022. Any

yueliu1999 109 Dec 23, 2022
This is the official implementation code repository of Underwater Light Field Retention : Neural Rendering for Underwater Imaging (Accepted by CVPR Workshop2022 NTIRE)

Underwater Light Field Retention : Neural Rendering for Underwater Imaging (UWNR) (Accepted by CVPR Workshop2022 NTIRE) Authors: Tian Ye†, Sixiang Che

jmucsx 17 Dec 14, 2022
[TPAMI 2021] iOD: Incremental Object Detection via Meta-Learning

Incremental Object Detection via Meta-Learning To appear in an upcoming issue of the IEEE Transactions on Pattern Analysis and Machine Intelligence (T

Joseph K J 66 Jan 4, 2023
ZSL-KG is a general-purpose zero-shot learning framework with a novel transformer graph convolutional network (TrGCN) to learn class representation from common sense knowledge graphs.

ZSL-KG is a general-purpose zero-shot learning framework with a novel transformer graph convolutional network (TrGCN) to learn class representa

Bats Research 94 Nov 21, 2022
An official TensorFlow implementation of “CLCC: Contrastive Learning for Color Constancy” accepted at CVPR 2021.

CLCC: Contrastive Learning for Color Constancy (CVPR 2021) Yi-Chen Lo*, Chia-Che Chang*, Hsuan-Chao Chiu, Yu-Hao Huang, Chia-Ping Chen, Yu-Lin Chang,

Yi-Chen (Howard) Lo 58 Dec 17, 2022
This repository provides the official implementation of 'Learning to ignore: rethinking attention in CNNs' accepted in BMVC 2021.

inverse_attention This repository provides the official implementation of 'Learning to ignore: rethinking attention in CNNs' accepted in BMVC 2021. Le

Firas Laakom 5 Jul 8, 2022