Skip to content

Latest commit

 

History

History
 
 

ViTDet

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

ViTDet

Description

This is an implementation of ViTDet based on MMDetection, MMCV, and MMEngine.

Usage

Training commands

Follow original setting, this project is trained with total batch size of 64 (16 GPU with 4 images per GPU).

In MMDetection's root directory, run the following command to train the model:

GPUS=${GPUS} ./tools/slurm_train.sh ${PARTITION} ${JOB_NAME} ${CONFIG_FILE} ${WORK_DIR}

Below is an example of using 16 GPUs to train VitDet on a Slurm partition named dev, and set the work-dir to some shared file systems.

GPUS=16 ./tools/slurm_train.sh dev vitdet_mask_b projects/ViTDet/configs/vitdet_mask-rcnn_vit-b-mae_lsj-100e.py /nfs/xxxx/vitdet_mask-rcnn_vit-b-mae_lsj-100e

Testing commands

In MMDetection's root directory, run the following command to test the model:

python tools/test.py projects/ViTDet/configs/vitdet_mask-rcnn_vit-b-mae_lsj-100e.py ${CHECKPOINT_PATH}

Results

Based on mmdetection, this project almost aligns the test and train accuracy of the ViTDet.

Method Backbone Pretrained Model Training set Test set Epoch Val Box AP Val Mask AP Download
ViTDet ViT-B MAE COCO2017 Train COCO2017 Val 100 51.6 45.7 model / log

Note:

  1. The mask AP is lower than official repo slightly
  2. other model vision will release code and weights in the future

Citation

@article{li2022exploring,
  title={Exploring plain vision transformer backbones for object detection},
  author={Li, Yanghao and Mao, Hanzi and Girshick, Ross and He, Kaiming},
  journal={arXiv preprint arXiv:2203.16527},
  year={2022}
}

Checklist

  • Milestone 1: PR-ready, and acceptable to be one of the projects/.

    • Finish the code

    • Basic docstrings & proper citation

    • Test-time correctness

    • A full README

  • Milestone 2: Indicates a successful model implementation.

    • Training-time correctness

  • Milestone 3: Good to be a part of our core package!

    • Type hints and docstrings

    • Unit tests

    • Code polishing

    • Metafile.yml

  • Move your modules into the core package following the codebase's file hierarchy structure.

  • Refactor your modules into the core package following the codebase's file hierarchy structure.