• Stars
    star
    532
  • Rank 83,377 (Top 2 %)
  • Language
    Python
  • License
    MIT License
  • Created about 4 years ago
  • Updated 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

An Extendible (General) Continual Learning Framework based on Pytorch - official codebase of Dark Experience for General Continual Learning

logo

Mammoth - An Extendible (General) Continual Learning Framework for Pytorch

Official repository of Class-Incremental Continual Learning into the eXtended DER-verse and Dark Experience for General Continual Learning: a Strong, Simple Baseline

Sequential MNIST Sequential CIFAR-10 Sequential TinyImagenet Permuted MNIST Rotated MNIST MNIST-360

Setup

  • Use ./utils/main.py to run experiments.
  • Use argument --load_best_args to use the best hyperparameters from the paper.
  • New models can be added to the models/ folder.
  • New datasets can be added to the datasets/ folder.

Models

  • eXtended-DER (X-DER)
  • Dark Experience Replay (DER)
  • Dark Experience Replay++ (DER++)
  • Learning a Unified Classifier Incrementally via Rebalancing (LUCIR)
  • Greedy Sampler and Dumb Learner (GDumb)
  • Bias Correction (BiC)
  • Regular Polytope Classifier (RPC)
  • Gradient Episodic Memory (GEM)
  • A-GEM
  • A-GEM with Reservoir (A-GEM-R)
  • Experience Replay (ER)
  • Meta-Experience Replay (MER)
  • Function Distance Regularization (FDR)
  • Greedy gradient-based Sample Selection (GSS)
  • Hindsight Anchor Learning (HAL)
  • Incremental Classifier and Representation Learning (iCaRL)
  • online Elastic Weight Consolidation (oEWC)
  • Synaptic Intelligence (SI)
  • Learning without Forgetting (LwF)
  • Progressive Neural Networks (PNN)

Datasets

  • Sequential MNIST (Class-Il / Task-IL)
  • Sequential CIFAR-10 (Class-Il / Task-IL)
  • Sequential Tiny ImageNet (Class-Il / Task-IL)
  • Sequential CIFAR-100 (Class-Il / Task-IL)
  • Permuted MNIST (Domain-IL)
  • Rotated MNIST (Domain-IL)
  • MNIST-360 (General Continual Learning)

Citing these works

@article{boschini2022class,
  title={Class-Incremental Continual Learning into the eXtended DER-verse},
  author={Boschini, Matteo and Bonicelli, Lorenzo and Buzzega, Pietro and Porrello, Angelo and Calderara, Simone},
  journal={IEEE Transactions on Pattern Analysis and Machine Intelligence},
  year={2022},
  publisher={IEEE}
}

@inproceedings{buzzega2020dark,
 author = {Buzzega, Pietro and Boschini, Matteo and Porrello, Angelo and Abati, Davide and Calderara, Simone},
 booktitle = {Advances in Neural Information Processing Systems},
 editor = {H. Larochelle and M. Ranzato and R. Hadsell and M. F. Balcan and H. Lin},
 pages = {15920--15930},
 publisher = {Curran Associates, Inc.},
 title = {Dark Experience for General Continual Learning: a Strong, Simple Baseline},
 volume = {33},
 year = {2020}
}

Awesome Papers using Mammoth

Our Papers

  • Dark Experience for General Continual Learning: a Strong, Simple Baseline (NeurIPS 2020) [paper]
  • Rethinking Experience Replay: a Bag of Tricks for Continual Learning (ICPR 2020) [paper] [code]
  • Class-Incremental Continual Learning into the eXtended DER-verse (TPAMI 2022) [paper]
  • Effects of Auxiliary Knowledge on Continual Learning (ICPR 2022) [paper]
  • Transfer without Forgetting (ECCV 2022) [paper][code]
  • Continual semi-supervised learning through contrastive interpolation consistency (PRL 2022) [paper][code]
  • On the Effectiveness of Lipschitz-Driven Rehearsal in Continual Learning (NeurIPS 2022) [paper] [code]

Other Awesome CL works using Mammoth

  • New Insights on Reducing Abrupt Representation Change in Online Continual Learning (ICLR2022) [paper] [code]
  • Learning fast, learning slow: A general continual learning method based on complementary learning system (ICLR2022) [paper] [code]
  • Self-supervised models are continual learners (CVPR2022) [paper] [code]
  • Representational continuity for unsupervised continual learning (ICLR2022) [paper] [code]
  • Continual Learning by Modeling Intra-Class Variation (TMLR 2023) [paper] [code]
  • Consistency is the key to further Mitigating Catastrophic Forgetting in Continual Learning (CoLLAs2022) [paper] [code]
  • Continual Normalization: Rethinking Batch Normalization for Online Continual Learning (ICLR2022) [paper] [code]
  • NISPA: Neuro-Inspired Stability-Plasticity Adaptation for Continual Learning in Sparse Networks (ICML2022) [paper]
  • Learning from Students: Online Contrastive Distillation Network for General Continual Learning (IJCAI2022) [paper] [code]

Update Roadmap

In the near future, we plan to incorporate the following improvements into this master repository:

  • ER+Tricks (Rethinking Experience Replay: a Bag of Tricks for Continual Learning)
  • TwF & Pretraining Baselines (Transfer without Forgetting)
  • CCIC & CSSL Baselines (Continual semi-supervised learning through contrastive interpolation consistency)
  • LiDER (On the Effectiveness of Lipschitz-Driven Rehearsal in Continual Learning)
  • Additional X-DER datasets (Class-Incremental Continual Learning into the eXtended DER-verse)

Pull requests welcome! Get in touch

Previous versions

If you're interested in a version of this repo that only includes the code for Dark Experience for General Continual Learning: a Strong, Simple Baseline, please use our neurips2020 tag.

More Repositories

1

meshed-memory-transformer

Meshed-Memory Transformer for Image Captioning. CVPR 2020
Python
518
star
2

dress-code

Dress Code: High-Resolution Multi-Category Virtual Try-On. ECCV 2022
Python
477
star
3

multimodal-garment-designer

This is the official repository for the paper "Multimodal Garment Designer: Human-Centric Latent Diffusion Models for Fashion Image Editing". ICCV 2023
Python
402
star
4

show-control-and-tell

Show, Control and Tell: A Framework for Generating Controllable and Grounded Captions. CVPR 2019
Python
282
star
5

novelty-detection

Latent space autoregression for novelty detection.
Python
196
star
6

LLaVA-MORE

LLaVA-MORE: Enhancing Visual Instruction Tuning with LLaMA 3.1
Python
82
star
7

art2real

Art2Real: Unfolding the Reality of Artworks via Semantically-Aware Image-to-Image Translation. CVPR 2019
Python
78
star
8

VKD

PyTorch code for ECCV 2020 paper: "Robust Re-Identification by Multiple Views Knowledge Distillation"
Python
73
star
9

VATr

Python
70
star
10

open-fashion-clip

This is the official repository for the paper "OpenFashionCLIP: Vision-and-Language Contrastive Learning with Open-Source Fashion Data". ICIAP 2023
Python
52
star
11

pacscore

Positive-Augmented Contrastive Learning for Image and Video Captioning Evaluation. CVPR 2023
Python
51
star
12

STAGE_action_detection

Code of the STAGE module for video action detection
Python
49
star
13

human-pose-annotation-tool

Human Pose Annotation Tool
Python
39
star
14

mil4wsi

DAS-MIL: Distilling Across Scales for MILClassification of Histological WSIs
Python
37
star
15

safe-clip

Safe-CLIP: Removing NSFW Concepts from Vision-and-Language Models. ECCV 2024
Python
33
star
16

awesome-human-visual-attention

This repository contains a curated list of research papers and resources focusing on saliency and scanpath prediction, human attention, human visual search.
32
star
17

TransformerBasedGestureRecognition

Python
31
star
18

speaksee

PyTorch library for Visual-Semantic tasks
Python
28
star
19

camel

CaMEL: Mean Teacher Learning for Image Captioning. ICPR 2022
Python
26
star
20

Ti-MGD

This is the official repository for the paper "Multimodal-Conditioned Latent Diffusion Models for Fashion Image Editing".
24
star
21

RefiNet

Python
23
star
22

mvad-names-dataset

M-VAD Names Dataset. Multimedia Tools and Applications (2019)
Python
21
star
23

DynamicConv-agent

PyTorch code for BMVC 2019 paper: Embodied Vision-and-Language Navigation with Dynamic Convolutional Filters
C++
21
star
24

perceive-transform-and-act

PyTorch code for the paper: "Perceive, Transform, and Act: Multi-Modal Attention Networks for Vision-and-Language Navigation"
C++
19
star
25

freeda

FreeDA: Training-Free Open-Vocabulary Segmentation with Offline Diffusion-Augmented Prototype Generation (CVPR 2024)
Python
19
star
26

CoDE

[ECCV'24] Contrasting Deepfakes Diffusion via Contrastive Learning and Global-Local Similarities
19
star
27

mcmr

PyTorch code for 3DV 2021 paper: "Multi-Category Mesh Reconstruction From Image Collections"
Python
18
star
28

PMA-Net

With a Little Help from your own Past: Prototypical Memory Networks for Image Captioning. ICCV 2023
Python
16
star
29

MaPeT

Learning to Mask and Permute Visual Tokens for Vision Transformer Pre-Training
Python
15
star
30

focus-on-impact

Python
15
star
31

LiDER

Official implementation of "On the Effectiveness of Lipschitz-Driven Rehearsal in Continual Learning"
Python
15
star
32

HWD

Python
15
star
33

LoCoNav

Python
13
star
34

CSL-TAL

Pytorch code for ECCVW 2022 paper "Consistency-based Self-supervised Learning for Temporal Anomaly Localization"
Python
12
star
35

Alfie

Democratising RGBA Image Generation With No $$$ (AI4VA@ECCV24)
Python
11
star
36

DiCO

Revisiting Image Captioning Training Paradigm via Direct CLIP-based Optimization (BMVC 2024)
Python
10
star
37

COCOFake

10
star
38

FourBi

Binarizing Documents by Leveraging both Space and Frequency. (ICDAR 2024)
Python
10
star
39

bridge-score

BRIDGE: Bridging Gaps in Image Captioning Evaluation with Stronger Visual Cues. ECCV 2024
10
star
40

RMSNet_Soccer

PyTorch code for RMS-Net
Python
8
star
41

ADCC

Python
8
star
42

mugat

Official implementation of our ECCVW paper "ΞΌgat: Improving Single-Page Document Parsing by Providing Multi-Page Context"
Python
6
star
43

aimagelab-srv

AImageLab-SRV wiki, support, code snippets and best practices.
6
star
44

CSSL

Code implementation for "Continual Semi-Supervised Learning through Contrastive Interpolation Consistency"
Python
6
star
45

rpe_spdh

PyTorch code for IEEE RA-L paper: "Semi-Perspective Decoupled Heatmaps for 3D Robot Pose Estimation from Depth Maps"
Python
5
star
46

MAD

Official PyTorch implementation for "Semantically Coherent Montages by Merging and Splitting Diffusion Paths", presenting the Merge-Attend-Diffuse operator (ECCV24)
Python
5
star
47

vffc

Python
4
star
48

LAM

The Ludovico Antonio Muratori (LAM) dataset is the largest line-level HTR dataset to date and contains 25,823 lines from Italian ancient manuscripts edited by a single author over 60 years. The dataset comes in two configurations: a basic splitting and a date-based splitting which takes into account the age of the author. The first setting is intended to study HTR on ancient documents in Italian, while the second focuses on the ability of HTR systems to recognize text written by the same writer in time periods for which training data are not available.
4
star
49

aidlda_tutorial

A tutorial on PyTorch - AI-DLDA 2018
Python
3
star
50

Emuru

Python
3
star
51

unveiling-the-truth

Python
2
star
52

DefConvs_HTR

Boosting modern and historical handwritten text recognition with deformable convolutions (ICPR20, IJDAR22)
Python
2
star
53

cvcs2023

1
star
54

Teddy

Python
1
star
55

FourBi_old

Python
1
star
56

CaSpeR

Code implementation for "Latent Spectral Regularization for Continual Learning"
Python
1
star