Skip to content

Latest commit

 

History

History

mlp

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

MLP backbones with NOAH

We use the popular timm library for experiments on the ImageNet dataset with MLP backbones. For MLPs, we select backbones from Mixer and gMLP families.

Results and models

Results for MLP backbones with NOAH trained on ImageNet.

Backbones Name Params $N$ $r$ Top-1 Acc(%) Google Drive
Mixer-Base mixer_b16_224 59.88M - - 77.14 model
+ NOAH noah_mixer_b16_224 59.88M 4 1/2 77.49 model
Mixer-Small (×1.0) mixer_s16_224 18.53M - - 74.18 model
+ NOAH noah_mixer_s16_224 18.54M 4 1/2 75.09 model
Mixer-Small (×0.75) mixer_s16_075_224 10.75M - - 71.13 model
+ NOAH noah_mixer_s16_075_224 10.76M 4 1/2 72.32 model
Mixer-Small (×0.5) mixer_s16_050_224 5.07M - - 65.22 model
+ NOAH noah_mixer_s16_050_224 5.08M 4 1/2 66.81 model
Backbones Name Params $N$ $r$ Top-1 Acc(%) Google Drive
gMLP-Small gmlp_s16_224 19.42M - - 79.65 model
+ NOAH noah_gmlp_s16_224 19.42M 4 1/2 79.95 model
gMLP-Tiny (×1.0) gmlp_ti16_224 5.87M - - 72.05 model
+ NOAH noah_gmlp_ti16_224 5.87M 4 1/2 73.39 model
gMLP-Tiny (×0.75) gmlp_ti16_075_224 3.91M - - 65.95 model
+ NOAH noah_gmlp_ti16_075_224 3,91M 4 1/2 67.71 model
gMLP-Tiny (×0.5) gmlp_ti16_050_224 2.41M - - 54.99 model
+ NOAH noah_gmlp_ti16_050_224 2.41M 4 1/2 56.89 model

Training

Please follow pytorch-image-models on how to prepare the environment. Then attach our codes to the origin project.

To train a MLP-based network:

bash distributed_train.sh {ngpus} {path to dataset} --config configs/default_noah.yaml --model {model name}

For example, you can use following command to train gMLP-Tiny $(r=1/2, N=4)$:

bash distributed_train.sh 8 ./datasets/ILSVRC2012 --config configs/default_noah.yaml --model noah_gmlp_ti16_224

You can add --amp to enable Automatic Mixed Precision to reduce memory usage and speed up training.

Evaluation

To evaluate a pre-trained model:

python validate.py ./datasets/ILSVRC2012 --model {model name} --checkpoint {path to pre-trained model} --crop-pct 0.9