第三次作业代码部分
对于视觉神经,PyTorch创建了一个totchvision的包,这个包含有支持加载Imagenet,CIFAR10等数据集的数据加载模块torchvision.datasets和数据转换模块torch.utils.data.DataLoader。
首先,我们要加载CIFAR10使用torchvision。
展示CIFAR10里面的一些图片
然后我们要定义一下网络,损失函数和优化器,将网络放到GPU上
进行训练网络:
训练结果:
接下来我们可以看一下整个网络在整个数据集上的表现,可以看出准确率在64%,我们可以通过改进网络结构,使得其准确率进一步提升
使用VGG16对CIFAR10进行分类
VGG是一种新的卷积神经网络模型,具有非常良好的准确率。
首先我们还是有定义dataloader
然后我们要定义一下VGG网络模型
经过老师修改,该模型的参数结构变了,所以在VGG网络模型里我们需要修改一些参数值,即将self.classifier=nn.Linear(2048,10)修改为self.classifier=nn.Linear(512,10)。
将网络放在GPU上
进行网络训练,训练代码和之前的网络训练代码一样。
训练结果:
测试验证其准确率:
测试代码和之前一样,我们可以看出使用一个VGG网络便可以将其准确率提升到83.37%,若是在Kaggle的LeaderBoard上,准确率可以达到95%以上。