玩转CIFAR10
Introduction
本文对于AlexNet,VGG,GoogLeNet,ResNet,DenseNet,MobileNet等主流的卷积神经网络模型,以及Vision Transformer等基于Transformer的模型在CIFAR10数据集上进行了详细的测试,测试内容包括测试集准确率、模型训练时间、模型参数量等。
Experiments
所有模型均使用Pytorch实现,运行环境为Python3.7+Pytorch1.9.1+CUDA11.1。
所有的模型均使用相同的训练超参数设置(learning_rate,batch_size,epoch等)。
持续更新中。
General settings |
---|
Data augmentation(RandomCrop+RandomHorizontalFlip+Normalize) |
Epoch=200, Batch_size=128 |
Learning_rate=0.01,Lr_scheduler(CosineAnnealingLR,T_max=200) |
Optimizer(SGD,momentum=0.9,weight_decay=5e-4) |
以下表格,Test Accuracy表示在所有epoch中最优的测试准确率;Other Config表示模型中的其他设置(如vision transformer中multi-head数量、transformer层数等);GPU表示使用了什么GPU进行训练;Time Expended表示训练时间;Parameter表示模型的参数量,一般可认为都是32位浮点数,因此(参数量/4/1024/1024=?MB)即可大约估算出模型所占空间,从MobileNet开始进行统计,因此表格部分内容为NaN,后期逐渐补上吧…
Model | Test Accuracy | Other Config | GPU | Time Expended | Parameter |
---|---|---|---|---|---|
AlexNet | 0.9039 | NaN | 3060 | 1h-17m-44s | NaN |
VGG-11 | 0.9223 | NaN | 3060 | 1h-10m-23s | NaN |
VGG-13 | 0.9368 | NaN | 3060 | 1h-39m-15s | NaN |
VGG-16 | 0.9335 | NaN | 3060 | 1h-55m-24s | NaN |
VGG-19 | 0.9334 | NaN | 3060 | 2h-10m-20s | NaN |
GoogLeNet | 0.9494 | NaN | 3060 | 8h-41m-56s | 6166250 |
MobileNet | 0.9151 | NaN | 3060 | 1h-34m-58s | NaN |
MobileNet V2 | 0.9399 | NaN | 3060 | 2h-51m-26s | NaN |
MobileNet V3-Large | 0.9028 | NaN | 3060 | 1h-51m-37s | 3884328 |
MobileNet V3-Small | 0.8715 | NaN | 3060 | 1h-14m-41s | 1843272 |
ResNet-18 | 0.9415 | NaN | 3060 | 3h-30m-54s | NaN |
ResNet-50 | 0.9448 | NaN | 3060 | 4h-38m-58s | NaN |
ResNet-101 | 0.9448 | NaN | 3060 | 6h-53m-23s | NaN |
DenseNet-121 | 0.9351 | [6,12,24,16] k=12 | 3060 | 3h-32m-33s | NaN |
DenseNet-121 | 0.9411 | [6,12,24,16] k=16 | 3060 | 4h-40m-51s | NaN |
DenseNet-121 | 0.9434 | [6,12,24,16] k=24 | 3090 | 3h-8m-11s | NaN |
DenseNet-121 | 0.9537 | [6,12,24,16] k=32 | 3090 | 3h-50m-14s | NaN |
DenseNet-169 | 0.9501 | [6,12,32,32] k=32 | 3090 | 4h-36m-12s | NaN |
Vision Transformer | 0.7485 | [heads=1,layers=1] | 3060 | 1h-39m-41s | NaN |
Vision Transformer | 0.8417 | [heads=1,layers=8] | 3060 | 8h-8m-24s | NaN |
Vision Transformer | 0.8153 | [heads=4,layers=2] | 3090 | 1h-32m-51s | NaN |
备注:部分模型在RTX 3060显卡上运行显存不足且运行速度慢,故使用RTX 3090显卡训练。由于Vision Transformer模型过于庞大,因此在CIFAR10数据集上的测试效果并不理想。同时对于Vision Transformer模型也进行了精简处理(multi-head数量和layer数量均不是原版设定)。
Download
对于一般的卷积神经网络模型,提供完整的ipynb文件,文件中已经包含了模型的训练过程以及所有输出的信息,开箱即用。对于Transformer模型,提供源代码压缩包,以txt文件形式提供所有输出的信息。
VGG-11,VGG-13,VGG-16,VGG-19均可点击以下 VGG 超链接一次性下载,其他模型同理。
点击以下超链接即可下载:
AlexNet
VGG
GoogLeNet
ResNet
DenseNet
MobileNet
Vision Transformer