第三次作业:卷积神经网络

 

 

一、MNIST数据集分类

卷积神经网络

 1、加载数据

  PyTorch包含部分常用数据集,调用  torchvision.datasets可以从网络下载到本地使用。 

 显示已下载的数据集中的部分图像进行查看: 

 2、创建网络

 定义训练并测试函数

 3、在小型全连接网络上训练

 3、在卷积神经网络上训练

 5、打乱像素顺序再次在两个网络上训练与测试

首先是随机打乱像素顺序后的图像:

重新定义训练与测试函数: 

 在全连接网络上训练与测试:

 在卷积神经网络上训练与测试:

二、CIFAR10数据集分类

先下载CIFAR10到本地:

 展示CIFAR10中的部分图片:

 定义网络、损失函数和优化器:

 进行网络训练:

从测试集中挑出8张照片:

 把这8张图片输入模型,查看是识别结果:

 可以看出第一个、第六个都识别错误了,接下来是这个网络在整个数据集上识别的结果:

 可以看到整体的准确率为63%,接下来我们通过一些方法提高识别准确率。

三、使用VGG16对CIFAR10数据集分类

1、定义dataloader

 首先下载安装文件:

2、VGG网络定义

 3、网络训练

 

 出现了错误,经查询将cfg改为self.cfg,但是错误未解决,又从同学的博客中学习到将参数调整为512,最后解决问题。

4、测试验证准确率

进行训练:

 

 

测试准确率:

可以发现使用VGG网络后,准确率从原先的63%是提升到了 83.14%,效果十分显著。

posted @ 2021-10-17 21:47  王瑞清  阅读(52)  评论(0)    收藏  举报