yjh0410 2925b14a3e add ViT into iclab/ 1 jaar geleden
..
data ce28ce6da0 add iclab for imagenet pretraining 1 jaar geleden
models 2925b14a3e add ViT into iclab/ 1 jaar geleden
utils ce28ce6da0 add iclab for imagenet pretraining 1 jaar geleden
.gitignore ce28ce6da0 add iclab for imagenet pretraining 1 jaar geleden
README.md ce28ce6da0 add iclab for imagenet pretraining 1 jaar geleden
engine.py ce28ce6da0 add iclab for imagenet pretraining 1 jaar geleden
requirements.txt ce28ce6da0 add iclab for imagenet pretraining 1 jaar geleden
train.py ce28ce6da0 add iclab for imagenet pretraining 1 jaar geleden
train.sh ce28ce6da0 add iclab for imagenet pretraining 1 jaar geleden

README.md

General Image Classification Laboratory

Train a CNN

We have kindly provided a bash script train.sh to train the models. You can modify some hyperparameters in the script file according to your own needs.

For example, we are going to use 8 GPUs to train ELANDarkNet-S designed in this repo, so we can use the following command:

bash train.sh elandarknet_s imagenet_1k path/to/imagnet_1k 8 1699 None

Evaluate a CNN

  • Evaluate the top1 & top5 accuracy of ViT-Tiny on ImageNet-1K dataset:

    python main.py --cuda -dataset imagenet_1k --root path/to/imagnet_1k -m elandarknet_s --batch_size 256 --img_size 224 --eval --resume path/to/elandarknet_s.pth
    

Experimental results

Tips:

  • Weak augmentation: includes random hflip and random crop resize.
  • Strong augmentation: includes mixup, cutmix, rand aug, random erase and so on. However, we don't use the strong augmentation.
  • The AdamW with weight decay = 0.05 and base lr = 4e-3 (for bs of 4096) is deployed as the optimzier, and the CosineAnnealingLR is deployed as the lr scheduler, where the min lr is set to 1e-6.

ImageNet-1K

  • Modified DarkNet (Yolov3's DarkNet with width and depth scaling factors)
Model Augment Batch Epoch size acc@1 GFLOPs Params Weight
DarkNet-S weak 4096 100 224 68.5 1.6 4.6 M ckpt
DarkNet-M weak 4096 100 224
DarkNet-L weak 4096 100 224
DarkNet-X weak 4096 100 224
  • Modified CSPDarkNet (Yolov5's DarkNet with width and depth scaling factors)
Model Augment Batch Epoch size acc@1 GFLOPs Params Weight
CSPDarkNet-S weak 4096 100 224 70.2 1.3 4.0 M ckpt
CSPDarkNet-M weak 4096 100 224
CSPDarkNet-L weak 4096 100 224
CSPDarkNet-X weak 4096 100 224
  • ElANDarkNet (Yolov8's backbone)
Model Augment Batch Epoch size acc@1 GFLOPs Params Weight
ElANDarkNet-N weak 4096 100 224 62.1 0.38 1.36 M ckpt
ElANDarkNet-S weak 4096 100 224 71.3 1.48 4.94 M ckpt
ElANDarkNet-M weak 4096 100 224 4.67 11.60 M
ElANDarkNet-L weak 4096 100 224 10.47 19.66 M
ElANDarkNet-X weak 4096 100 224 20.56 37.86 M
  • GELAN (Proposed by YOLOv9)
Model Augment Batch Epoch size acc@1 GFLOPs Params Weight
GELAN-S weak 4096 100 224 68.4 0.9 1.9 M ckpt
GELAN-C weak 4096 100 224 5.2 8.8 M [ckpt]()