|
2 years ago | |
---|---|---|
models | 2 years ago | |
scripts | 2 years ago | |
utils | 2 years ago | |
.gitignore | 2 years ago | |
INSTALL.md | 2 years ago | |
LICENSE | 2 years ago | |
PRETRAIN.md | 2 years ago | |
README.md | 2 years ago | |
decoder.py | 2 years ago | |
dist.py | 2 years ago | |
encoder.py | 2 years ago | |
launch.py | 2 years ago | |
main.py | 2 years ago | |
requirements.txt | 2 years ago | |
sampler.py | 2 years ago | |
spark.py | 2 years ago |
README.md
SparK✨: the first successful BERT-style pre-training on any convolutional networks ![arXiv](https://img.shields.io/badge/arXiv-2301.03580-b31b1b.svg)
This is an official implementation of the paper "Designing BERT for Convolutional Networks: Sparse and Hierarchical Masked Modeling". (submitted to openreview ICLR'23 in Sep. 2022, accepted as ICLR Spotlight)
Highlight
- SparK is accepted to ICLR 2023 as an Spotlight Presentation!
A quick explainable video demo for spark
https://user-images.githubusercontent.com/6366788/213662770-5f814de0-cbe8-48d9-8235-e8907fd81e0e.mp4
What's new here?
🔥 On ResNets, generative pre-training surpasses contrastive learning for the first time:
🔥 ConvNeXt gains more from pre-training than Swin-Transformer, up to +3.5 points:
🔥 Larger models benefit more from SparK pre-training, showing a scaling behavior:
🔥 Pre-trained model can make reasonable predictions:
See our paper for more analysis, discussions, and evaluations.
Catalog
- Pre-training code
- Fine-tuning code
- Colab playground
- Inference and visualization demo
Installation
Check INSTALL.md to install all dependencies. Our implementation is based on torch==1.10.0+cu113
, torchvision==0.11.1+cu113
, and timm==0.5.4
. This sparse convolution framework is an optional library.
Pre-training
See PRETRAIN.md to pre-train models on ImageNet.
Fine-tuning
- Models on ImageNet: after installation, check downstream_imagenet for subsequent instructions.
- ResNets on COCO: install
detectron2
and see downstream_d2 for more details. - ConvNeXts on COCO: install
mmcv
andmmdetection
then see downstream_mmdet for more details.
Acknowledgement
We heavily referred to these useful codebases:
We also appreciate these elegant frameworks:
License
This project is under the MIT license. See LICENSE for more details.
Citation
If you found this project useful, please consider adding a star ⭐, or citing us 📖:
@Article{tian2023designing,
author = {Keyu Tian and Yi Jiang and Qishuai Diao and Chen Lin and Liwei Wang and Zehuan Yuan},
title = {Designing BERT for Convolutional Networks: Sparse and Hierarchical Masked Modeling},
journal = {arXiv:2301.03580},
year = {2023},
}