玩转CIFAR10——Pytorch实现AlexNet,VGG,GoogLeNet,ResNet,DenseNet,Vision Transformer等模型在CIFAR10的测试(持续更新...)

玩转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

猜你喜欢

转载自blog.csdn.net/cax1165/article/details/121900302