Code Monkey home page Code Monkey logo

parametric-contrastive-learning's Introduction

Imbalanced Learning for Recognition

This repository contains the code of our papers on the topic of imbalanced learning for recognition.

  • The code for our preprint paper "Generalized Parametric Contrastive Learning" is released;
  • The code for our preprint paper "Region Rebalance for Long-Tailed Semantic Segmentation" (paper) will be released soon;
  • The code for our TPAMI 2022 paper "Residual Learning for Long-tailed recogntion" (paper and code);
  • The code for our ICCV 2021 paper "Parametric Contrastive Learning" (paper and code);

Generalized Parametric-Contrastive-Learning

This repository contains the implementation code for ICCV2021 paper Parametric Contrastive Learning (https://arxiv.org/abs/2107.12028) and arXiv paper Generalized Parametric Contrastive Learning (https://arxiv.org/abs/2209.12400).

PWC PWC PWC PWC

Full ImageNet Classification and Out-of-Distribution Robustness

Method Model Full ImageNet ImageNet-C (mCE) ImageNet-C (rel. mCE) ImageNet-R ImageNet-S link log
GPaCo ResNet-50 79.7 50.9 64.4 41.1 30.9 download download
CE ViT-B 83.6 39.1 49.9 49.9 36.1 --- download
CE ViT-L 85.7 32.4 41.4 60.3 45.5 --- download
multi-task ViT-B 83.4 --- --- --- --- --- download
GPaCo ViT-B 84.0 37.2 47.3 51.7 39.4 download download
GPaCo ViT-L 86.0 30.7 39.0 60.3 48.3 download download

CIFAR Classification

Method Model Top-1 Acc(%) link log
multi-task ResNet-50 79.1 --- download
GPaCo ResNet-50 80.3 --- download

Long-tailed Recognition

ImageNet-LT

Method Model Top-1 Acc(%) link log
GPaCo ResNet-50 58.5 download download
GPaCo ResNeXt-50 58.9 download download
GPaCo ResNeXt-101 60.8 download download
GPaCo ensemble( 2-ResNeXt-101) 63.2 --- ---

iNaturalist 2018

Method Model Top-1 Acc(%) link log
GPaCo ResNet-50 75.4 download download
GPaCo ResNet-152 78.1 --- download
GPaCo ensembel(2-ResNet-152) 79.8 --- ---

Places-LT

Method Model Top-1 Acc(%) link log
GPaCo ResNet-152 41.7 download download

Semantic Segmentation

Method Dataset Model mIoU (s.s.) mIoU (m.s.) link log
GPaCo ADE20K Swin-T 45.4 46.8 --- download
GPaCo ADE20K Swin-B 51.6 53.2 --- download
GPaCo ADE20K Swin-L 52.8 54.3 --- download
GPaCo COCO-Stuff ResNet-50 37.0 37.9 --- download
GPaCo COCO-Stuff ResNet-101 38.8 40.1 --- download
GPaCo Pascal Context 59 ResNet-50 51.9 53.7 --- download
GPaCo Pascal Context 59 ResNet-101 54.2 56.3 --- download
GPaCo Cityscapes ResNet-18 78.1 79.7 --- download
GPaCo Cityscapes ResNet-50 80.8 82.0 --- download
GPaCo Cityscapes ResNet-101 81.4 82.1 --- download

Get Started

Environments

We use python3.8, pytorch 1.8.1, mmcv 1.3.13 and timm==0.3.2. Our code is based on PaCo, MAE, and mmseg.

Train and Evaluation Scripts

On full ImageNet and OOD robustness,

We use 8 Nvidia GForce RTx 3090 GPUs. MAE pretrained models should be downloaded from here.

cd GPaCo/LT
bash sh/ImageNet/train_resnet50.sh
bash sh/ImageNet/eval_resnet50.sh

cd GPaCo/MAE-ViTs
bash sh/finetune_base_mae.sh
bash sh/finetune_base_mae_multitask.sh
bash sh/finetune_base_mae_gpaco.sh
bash sh/finetune_base_mae_gpaco_eval.sh

On imbalanced data,

cd GPaCo/LT
bash sh/LT/ImageNetLT_train_X50_multitask.sh
bash sh/LT/ImageNetLT_train_X50.sh
sh/LT/ImageNetLT_eval_X50.sh

bash sh/LT/Inat_train_R50.sh
sh/LT/Inat_eval_R50.sh

bash sh/LT/PlacesLT_train_R152.sh
bash sh/LT/PlacesLT_eval_R152.sh

On semantic segmentation,

cd GPaCo/Seg/semseg
bash sh/ablation_paco_ade20k/upernet_swinbase_160k_ade20k_paco.sh
bash sh/ablation_paco_coco10k/r50_deeplabv3plus_40k_coco10k_paco.sh
bash sh/ablation_paco_context/r50_deeplabv3plus_40k_context_paco.sh
bash sh/ablation_paco_cityscapes/r50_deeplabv3plus_40k_context.sh

Parametric-Contrastive-Learning

This repository contains the implementation code for ICCV2021 paper:
Parametric Contrastive Learning (https://arxiv.org/abs/2107.12028)

Overview

In this paper, we propose Parametric Contrastive Learning (PaCo) to tackle long-tailed recognition. Based on theoretical analysis, we observe supervised contrastive loss tends to bias on high-frequency classes and thus increases the difficulty of imbalance learning. We introduce a set of parametric class-wise learnable centers to rebalance from an optimization perspective. Further, we analyze our PaCo loss under a balanced setting. Our analysis demonstrates that PaCo can adaptively enhance the intensity of pushing samples of the same class close as more samples are pulled together with their corresponding centers and benefit hard example learning. Experiments on long-tailed CIFAR, ImageNet, Places, and iNaturalist 2018 manifest the new state-of-the-art for long-tailed recognition. On full ImageNet, models trained with PaCo loss surpass supervised contrastive learning across various ResNet backbones.

Results and Pretrained models

Full ImageNet (Balanced setting)

Method Model Top-1 Acc(%) link log
PaCo ResNet-50 79.3 download download
PaCo ResNet-101 80.9 download download
PaCo ResNet-200 81.8 download download

ImageNet-LT (Imbalance setting)

Method Model Top-1 Acc(%) link log
PaCo ResNet-50 57.0 download download
PaCo ResNeXt-50 58.2 download download
PaCo ResNeXt-101 60.0 download download

iNaturalist 2018 (Imbalanced setting)

Method Model Top-1 Acc(%) link log
PaCo ResNet-50 73.2 TBD download
PaCo ResNet-152 75.2 TBD download

Places-LT (Imbalanced setting)

Method Model Top-1 Acc(%) link log
PaCo ResNet-152 41.2 TBD download

Get Started

For full ImageNet, ImageNet-LT, iNaturalist 2018, Places-LT training and evaluation. Note that PyTorch>=1.6. All experiments are conducted on 4 GPUs. If you have more GPU resources, please make sure that the learning rate should be linearly scaled and 32 images per gpu is recommented.

cd Full-ImageNet
bash sh/train_resnet50.sh
bash sh/eval_resnet50.sh

cd LT
bash sh/ImageNetLT_train_R50.sh
bash sh/ImageNetLT_eval_R50.sh
bash sh/PlacesLT_train_R152.sh
bash sh/PlacesLT_eval_R152.sh

cd LT
bash sh/CIFAR100_train_imb0.1.sh

Contact

If you have any questions, feel free to contact us through email ([email protected]) or Github issues. Enjoy!

BibTex

If you find this code or idea useful, please consider citing our work:

@article{cui2022generalized,
  title={Generalized Parametric Contrastive Learning},
  author={Cui, Jiequan and Zhong, Zhisheng and Tian, Zhuotao and Liu, Shu and Yu, Bei and Jia, Jiaya},
  journal={arXiv preprint arXiv:2209.12400},
  year={2022}
}

@inproceedings{cui2021parametric,
  title={Parametric contrastive learning},
  author={Cui, Jiequan and Zhong, Zhisheng and Liu, Shu and Yu, Bei and Jia, Jiaya},
  booktitle={Proceedings of the IEEE/CVF international conference on computer vision},
  pages={715--724},
  year={2021}
}

@ARTICLE{9774921,
  author={Cui, Jiequan and Liu, Shu and Tian, Zhuotao and Zhong, Zhisheng and Jia, Jiaya},
  journal={IEEE Transactions on Pattern Analysis and Machine Intelligence}, 
  title={ResLT: Residual Learning for Long-tailed Recognition}, 
  year={2022},
  volume={},
  number={},
  pages={1-1},
  doi={10.1109/TPAMI.2022.3174892}}
  
@article{cui2022region,
  title={Region Rebalance for Long-Tailed Semantic Segmentation},
  author={Cui, Jiequan and Yuan, Yuhui and Zhong, Zhisheng and Tian, Zhuotao and Hu, Han and Lin, Stephen and Jia, Jiaya},
  journal={arXiv preprint arXiv:2204.01969},
  year={2022}
  }

parametric-contrastive-learning's People

Contributors

jiequancui avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.