第三次软件工程作业

在本次实验中主要学习如何使用 PyTorch 进行CNN的训练与测试

1.MINIST数据集分类

首先加载CIFAR10使用torchvision

显示数据集中的部分图像

在小型全连接网络上训练

 

 

 

 

在卷积神经网络上训练后,打乱像素顺序再次在两个网络上训练与测试。

 

 

 

 

 

 

 

2.首先展示CIFAR10里面的一些图片

 

 

然后我们要定义一下网络,损失函数和优化器,将网络放到GPU上

 

 可以看出准确率在64%,通过改进网络结构,使得其准确率进一步提升

 

 3.使用VGG16对CIFAR10进行分类

虽然不是完整版,但同样能提高准确率

首先我们还是有定义dataloader

 

 

 

然后我们要定义一下VGG网络模型

该模型的参数结构发生改变,所以在VGG网络模型需要进行一些改变nn.Linear(2048,10)修改为nn.Linear(512,10)。

 

进行网络训练

 

 

 训练结果:

 

 

 

 

测试验证其准确率: 

可以看到,使用一个简化版的 VGG 网络,就能够显著地将准确率由 64%,提升到 82.79%

 

posted @ 2021-10-17 20:19  不要crucio  阅读(64)  评论(0)    收藏  举报