# Dummy MAE Wrapper This is an example README for community `projects/`. We have provided detailed explanations for each field in the form of html comments, which are visible when you read the source of this README file. If you wish to submit your project to our main repository, then all the fields in this README are mandatory for others to understand what you have achieved in this implementation. - [Dummy MAE Wrapper](#dummy-mae-wrapper) - [Description](#description) - [Usage](#usage) - [Setup Environment](#setup-environment) - [Data Preparation](#data-preparation) - [Pre-training Commands](#pre-training-commands) - [On Local Single GPU](#on-local-single-gpu) - [On Multiple GPUs](#on-multiple-gpus) - [On Multiple GPUs with Slurm](#on-multiple-gpus-with-slurm) - [Downstream Tasks Commands](#downstream-tasks-commands) - [Results](#results) - [Citation](#citation) - [Checklist](#checklist) ## Description This project implements a dummy MAE wrapper, which prints "Welcome to MMSelfSup" during initialization. ## Usage ### Setup Environment Please refer to [Get Started](https://mmselfsup.readthedocs.io/en/1.x/get_started.html) documentation of MMSelfSup. ### Data Preparation To show the dataset directory or provide the commands for dataset preparation if needed. For example: ```text data/ └── imagenet ├── train ├── val └── meta ├── train.txt └── val.txt ``` ### Pre-training Commands At first, you need to add the current folder to `PYTHONPATH`, so that Python can find your model files. In `example_project/` root directory, please run command below to add it. ```shell export PYTHONPATH=`pwd`:$PYTHONPATH ``` Then run the following commands to train the model: #### On Local Single GPU ```bash mim train mmselfsup $CONFIG --work-dir $WORK_DIR # a specific command example mim train mmselfsup configs/dummy-mae_vit-base-p16_8xb512-amp-coslr-300e_in1k.py \ --work-dir work_dirs/dummy_mae/ ``` #### On Multiple GPUs ```bash # a specific command examples, 8 GPUs here mim train mmselfsup configs/dummy-mae_vit-base-p16_8xb512-amp-coslr-300e_in1k.py \ --work-dir work_dirs/dummy_mae/ \ --launcher pytorch --gpus 8 ``` Note: - CONFIG: the config files under the directory `configs/` - WORK_DIR: the working directory to save configs, logs, and checkpoints #### On Multiple GPUs with Slurm ```bash # a specific command example: 16 GPUs in 2 nodes mim train mmselfsup configs/dummy-mae_vit-base-p16_8xb512-amp-coslr-300e_in1k.py \ --work-dir work_dirs/dummy_mae/ \ --launcher slurm --gpus 16 --gpus-per-node 8 \ --partition $PARTITION ``` Note: - CONFIG: the config files under the directory `configs/` - WORK_DIR: the working directory to save configs, logs, and checkpoints - PARTITION: the slurm partition you are using ### Downstream Tasks Commands In MMSelfSup's root directory, run the following command to train the downstream model: ```bash mim train mmcls $CONFIG \ --work-dir $WORK_DIR \ --launcher pytorch -gpus 8 \ [optional args] # a specific command example mim train mmcls configs/vit-base-p16_ft-8xb128-coslr-100e_in1k.py \ --work-dir work_dirs/dummy_mae/classification/ --launcher pytorch -gpus 8 \ --cfg-options model.backbone.init_cfg.type=Pretrained \ model.backbone.init_cfg.checkpoint=https://download.openmmlab.com/mmselfsup/1.x/mae/mae_vit-base-p16_8xb512-fp16-coslr-300e_in1k/mae_vit-base-p16_8xb512-coslr-300e-fp16_in1k_20220829-c2cf66ba.pth \ model.backbone.init_cfg.prefix="backbone." \ $PY_ARGS ``` Note: - CONFIG: the config files under the directory `configs/` - WORK_DIR: the working directory to save configs, logs, and checkpoints - CHECKPOINT: the pretrained checkpoint of MMSelfSup saved in working directory, like `$WORK_DIR/epoch_300.pth` - PY_ARGS: other optional args ## Results If you have any downstream task results, you could list them here. **For example:** The Linear Eval and Fine-tuning results are based on ImageNet dataset.
Algorithm | Backbone | Epoch | Batch Size | Linear Eval | Fine-tuning |
---|---|---|---|---|---|
MAE | ViT-base | 300 | 4096 | 60.8 | 83.1 |