在此项目中,我们集合了当前一些vision transformer的Pytorch实现,并尝试在CIFAR-10数据集训练。
python train.py-net vit -gpu
python test.py -net vit -weights path_to_the_weight
Transformer缺少CNN的归纳偏置,通常需要大量训练数据和数据增强才能达到良好的效果。当前实现还未对数据增强以及学习率等超参进一步微调。
下面是参照别人的实现中的一些记录。笔记
-
[DeiT]: https://arxiv.org/abs/2012.12877
-
[DeepViT]: https://arxiv.org/abs/2103.11886
-
[CaiT]: https://arxiv.org/abs/2103.17239
-
[CeiT]: https://arxiv.org/abs/2103.11816
-
[LeViT]: https://arxiv.org/abs/2104.01136
-
[PVTv2]:https://arxiv.org/abs/2106.13797
-
[Swin]: https://arxiv.org/abs/2103.14030
-
[Shuffle]:https://arxiv.org/abs/2106.03650
-
数据增强(cutmix,mixup等)
-
超参调整
-
[Tokens-to-Token]: https://arxiv.org/abs/2101.11986
-
[CrossViT]: https://arxiv.org/abs/2103.14899
-
[LocalViT]: https://arxiv.org/abs/2104.05707
-
[Twins]: https://arxiv.org/abs/2104.13840
https://github.com/lucidrains/vit-pytorch
https://github.com/weiaicunzai/pytorch-cifar100