使用VGG网络进行MNIST图像分类

Posted 算法与编程之美

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用VGG网络进行MNIST图像分类相关的知识,希望对你有一定的参考价值。

1 问题

VGG网络由牛津大学的Oxford Visual Geometry Group于2015年提出。从诞生之后就收到了学界的广泛关注。

VGG网络,可以应用在人脸识别、图像分类等方面。VGG有两种结构,分别为16层和19层。具体结构在其文献做了详细表述,如下图所示。

为了学习VGG网络,本组拟采用配置A在MNIST数据集上进行图像分类实验。

2 方法

首先MNIST的数据大小为28*28,需要进行resize才能作为VGG网络的输入;同时,本次实验只需要进行10分类,因此将网络本身的最后一层原做1000分类的soft-max层移除,替换为FC-10。网络实现代码如下:

获取数据后进行resize操作:

实验部分代码如下:

实验结果:

3 结语

VGG主要工作是证明了增加网络的深度能够在一定程度上影响网络最终的性能,从本次实验也可以看出,短时间少周期的训练并不能使得如此庞大的网络拥有很好的效果,而在比较小的网络如LeNet-5这样的网络上往往几个周期就能得到较高的精度。遗憾的是因为实验设备性能限制,网络的运行速度很慢,受限于内存大小,BatchSize的大小受限,最大只能到32,没有充足的调整空间。

以上是关于使用VGG网络进行MNIST图像分类的主要内容,如果未能解决你的问题,请参考以下文章

如何搭建VGG网络,实现Mnist数据集的图像分类

深度学习系列用PaddlePaddle和Tensorflow进行图像分类

使用LeNet网络进行MNIST图像分类

使用LeNet网络进行MNIST图像分类

4. 使用预训练的PyTorch网络进行图像分类

4. 使用预训练的PyTorch网络进行图像分类