/RevCol

Official Code of Paper "Reversible Column Networks" "RevColv2"

Primary LanguagePythonApache License 2.0Apache-2.0

Reversible Column Networks

This repo is the official implementation of:

Yuxuan Cai, Yizhuang Zhou, Qi Han, Jianjian Sun, Xiangwen Kong, Jun Li, Xiangyu Zhang
MEGVII Technology
International Conference on Learning Representations (ICLR) 2023
[arxiv]

Qi Han, Yuxuan Cai, Xiangyu Zhang
MEGVII Technology
[arxiv]

Updates

9/06/2023*
RevColv2 will be released soon!

3/15/2023*
RevCol Huge checkpoint for segmentation released! Add visualization tools.

3/9/2023*
Detection, Segmentation Code and Model Weights Released.

2/10/2023
RevCol model weights released.

1/21/2023
RevCol was accepted by ICLR 2023!

12/23/2022
Initial commits: codes for ImageNet-1k and ImageNet-22k classification are released.

To Do List

  • ImageNet-1K and 22k Training Code
  • ImageNet-1K and 22k Model Weights
  • Cascade Mask R-CNN COCO Object Detection Code & Model Weights
  • ADE20k Semantic Segmentation Code & Model Weights

Introduction

RevCol is composed of multiple copies of subnetworks, named columns respectively, between which multi-level reversible connections are employed. RevCol coud serves as a foundation model backbone for various tasks in computer vision including classification, detection and segmentation.

Main Results on ImageNet with Pre-trained Models

name pretrain resolution #params FLOPs acc@1 pretrained model finetuned model
RevCol-T ImageNet-1K 224x224 30M 4.5G 82.2 baidu/github -
RevCol-S ImageNet-1K 224x224 60M 9.0G 83.5 baidu/github -
RevCol-B ImageNet-1K 224x224 138M 16.6G 84.1 baidu/github -
RevCol-B* ImageNet-22K 224x224 138M 16.6G 85.6 baidu/github baidu/github
RevCol-B* ImageNet-22K 384x384 138M 48.9G 86.7 baidu/github baidu/github
RevCol-L* ImageNet-22K 224x224 273M 39G 86.6 baidu/github baidu/github
RevCol-L* ImageNet-22K 384x384 273M 116G 87.6 baidu/github baidu/github
RevCol-H*+ Megdata-168M pretrain 224 / finetune 640 2.1B 2537 90.0 huggingface huggingface

[+]: Note that we use a slightly different model on RevCol-H with one more branch from the bottom level to the top one. Later experiments prove that this connection is unnecessary, however, consider RevCol-H's training cost, we do not retrain it.

Getting Started

Please refer to INSTRUCTIONS.md for setting up, training and evaluation details.

Acknowledgement

This repo was inspired by several open source projects. We are grateful for these excellent projects and list them as follows:

License

RevCol is released under the Apache 2.0 license.

Contact Us

If you have any questions about this repo or the original paper, please contact Yuxuan at caiyuxuan@megvii.com.

Citation

@inproceedings{cai2022reversible,
  title={Reversible Column Networks},
  author={Cai, Yuxuan and Zhou, Yizhuang and Han, Qi and Sun, Jianjian and Kong, Xiangwen and Li, Jun and Zhang, Xiangyu},
  booktitle={International Conference on Learning Representations},
  year={2023},
  url={https://openreview.net/forum?id=Oc2vlWU0jFY}
}