如果对你有用的话,希望能够点赞支持一下,这样我就能有更多的动力更新更多的学习笔记了。😄😄
使用Alexnet进行CIFAR-10数据集进行测试,这里使用的是将CIFAR-10数据集的分辨率扩大到224X224,因为在测试训练的时候,发现将CIFAR10数据集的分辨率拉大可以让模型更快地进行收敛,并且识别的效果也是比低分辨率的更加好。
首先来介绍一下,Alexnet:
1.论文下载地址:http://www.cs.toronto.edu/~fritz/absps/imagenet.pdf
2.Alexnet的历史地位:
①在ILSVRC-2010和ILSVRC-2012比赛中,使用ImageNet数据集的一个子集,训练了一个最大的卷积神经网络,并且在该数据集取得相对于现在来说很好的结果。
②完成高度优化的GPU实现,用于2D卷积和训练神经网络的操作,并将其公开。
③使用了一些技巧(ReLu、多块GPU并行训练、局部响应归一化、Overlapping池化、Dropout等),能够改善性能、减少训练时间。
3.Alexnet的网络结构图(使用了两个GPU,所以网络的结构是分开进行画出来的):
4.代码实现:
数据集的处理:
调用torchvision里面封装好的数据集(CIFAR100)进行数据的训练,并且利用官方已经做好的数据集分类(using 50000 images for training, 10000 images for validation)是数据集的划分大小。进行了一些简单的数据增强,分别是随机的随机剪切和随机的水平拉伸操作。
模型的代码结构目录:
data:进行模型训练的时候会自动开始下载数据集的信息到这个文件夹里面。
res:该文件夹会保存模型的权重和记录模型在训练过程当中计算出来的train_loss, train_acc和val_acc做成的xml文件夹。
train.py代码如下:
# -*- coding:utf-8 -*-
# @Time : 2023-01-10 19:08
# @Author : DaFuChen
# @File : 优快云写作代码笔

文章介绍了使用Alexnet模型在CIFAR-10数据集上的应用,通过扩大图像分辨率来加速收敛并提高识别效果。作者提供了数据集处理、模型结构、训练过程以及代码实现的详细步骤,并强调了数据增强、学习率和批次大小等参数的调整对训练的影响。此外,文章还包括了模型保存和性能监控的细节。
最低0.47元/天 解锁文章
736





