位置: IT常识 - 正文

Cifar-10图像分类/Pytorch/LeNet/AlexNet(cifar10图像分类实验报告)

编辑:rootadmin
Cifar-10图像分类/Pytorch/LeNet/AlexNet 1 研究任务一介绍1.1 研究任务

推荐整理分享Cifar-10图像分类/Pytorch/LeNet/AlexNet(cifar10图像分类实验报告),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:图像分类attention,图像分类最新算法,cifar10图像分类实验报告参考文献,图像分类最新算法,图像分类最新算法,cifar10图像分类时测试集准确率特别低,cifar10图像分类时测试集准确率特别低,cifar10图像分类时测试集准确率特别低,内容如对您有帮助,希望把文章链接给更多的朋友!

给定训练集和测试集Cifar10,数据集共分为10类,采用LeNet和AlexNet两种CNN机器学习算法进行图像分类,以准确率为评测指标,进行分类算法性能评估与结果分析。

数据集官方网址:CIFAR-10 and CIFAR-100 datasets

代码见网盘:链接:https://pan.baidu.com/s/1SP5N0RGTLqlTBpGsaOHvuw?pwd=omsj  提取码:omsj

1.2 研究内容的具体描述

数据集介绍

Cifar10数据集,是一个很经典的图像分类数据集,由 Hinton 的学生 Alex Krizhevsky 和 Ilya Sutskever 整理的一个用于识别普适物体的小型数据集,一共包含 10 个类别的 RGB 彩色图片。每张图像的大小为32*32,包含如图1.1所示的十个类别的对象。每个类都包含6000张图片,总共有60000张图片,数据集平衡。其中,训练组图像包含50000张图片,测试集包含10000张图像。

 图1.1 Cifar10数据集类别图

数据集包含五个训练batch和一个测试batch,每个batch包含一万张图片。深度学习训练时直接从batch读取数据,也可转换为PNG或者JPG图片格式进行读取和查看图像数据。

2 研究方法原理与步骤2.1 LeNet模型

2.1.1 研究方法选择原因

LeNet网络结构是第一个典型的CNN网络,对于学习机器学习具有很重要的意义。

2.1.2 方法原理与步骤

LeNet网络主要参考1998年计算机科学家Yann LeCun发布的论文:Gradient based learning applied to document-recognition。

图2.1 LeNet网络框架图

LeNet网络的整体架构包含输入层总共8层网络,分别为:

(1)输入层(INPUT):输入的手写体是32x32像素的图片。

(2)卷积层(Convolutions,C1):提取特征。有6个特征平面,对应6个不同的5x5卷积核或者6个滤波器,每个滤波器参数值(权值)相同,每个特征平面有28x28神经元,连接数为:(5x5+1)x28x28x6 = 122304,每个特征平面神经元共用一套权值,每套权值取决于卷积核大小,权值数为:(5x5+1)x6 = 156。

(3)池化层(Subsampling,S2): 降低数据维度。又叫下采样层,目的是压缩数据,降低数据维度,和卷积有明显区别,采样2x2的选择框进行压缩,原来是28x28,采样后是14x14,通过选择框的数据求和再取平均值然后在乘上一个权值和加上一个偏置值,组成新的图片,每个特征平面采样的权值和偏置值相同,因此每个特征平面对应的采样层只两个待训练参数,总共有6张采样平面,总共待训练权值为:2x6=12。

(4)卷积层(C3):有16个特征平面,每个特征平面对应的卷积核,和池化层的多个平面进行卷积。每一个特征平面是对应多个池化层的采样数据。

(5)池化层(S4):采样窗口2x2,对C3层进行采样,得到16个5x5采样平面,本层存在激活函数sigmod。

(6)卷积层(C5):特征平面有120个,每个特征平面5x5,连接池化层的所有采样层。本层有120个神经元并列排列,每个神经元连接池化层的所有层。C5层的每个神经元的连接数为5x5x16+1,总共连接数为:(5x5x16+1)x120=48120,权值和连接数一样。

(7)全连接层(F6):BP网络的隐层,且为全连接层,有84个神经元,每一个神经元都和上一次的120个神经元相连接,连接数为(120+1)x84 = 10164,因为权值不共享,隐层权值数也是10164,本层输出有激活函数为双曲正切函数。                           

输出层:有10个神经元,基于径向基神经网络,即基于距离衡量两个数据的相近程度。

实现步骤:

(1)lenet.py:定义LeNet网络模型;

(2)train.py:加载数据集并训练,训练集计算loss,测试集计算accuracy,保存训练好的网络参数;

(4)utils.py:可视化loss和预测图像;

(3)predict.py:得到训练好的网络参数后,用自己找的图像进行分类测试。

2.1.3 模型训练超参设置

epoch=5,对训练集的全部数据进行5次完整的训练;batch_size=50,将训练集分成多个批次训练,每批数据大小为50;step=1000,训练集共有50000个样本,每个batch_size包括1000step;lr=0.001,定义优化器学习率。2.2 AlexNet模型

2.2.1 研究方法选择原因

LeNet网络之后,更引人注目的一个CNN网络是AlexNet网络,AlexNet网络结构在整体上类似于LeNet,都是先卷积然后在全连接。但在细节上有很大不同,AlexNet更为复杂。AlexNet有60 million个参数和65000个神经元,五层卷积,三层全连接网络,最终的输出层是1000通道的softmax,与LeNet形成很好的对比。

2.2.2 方法原理与步骤

AlexNet网络结构是2012年ImageNet竞赛中取得冠军的一个模型整理后发表的文章:ImageNet Classification with Deep Convolutional Neural Networks。作者是多伦多大学的Alex Krizhevsky等人。

图2.2 AlexNet网络框架图

AlexNet网络的整体架构包含输入层总共8层网络,分别为:

(1)第一层:卷积层1,输入为 224×224×3的图像,卷积核数量为96,卷积核大小为 11×11×3; stride=4,stride表示步长,pad=0, 表示不扩充边缘;

Cifar-10图像分类/Pytorch/LeNet/AlexNet(cifar10图像分类实验报告)

(2)第二层:卷积层2, 输入为上一层卷积的feature map, 卷积的个数为256个。卷积核的大小为:5×5×48; pad=2,stride=1;然后做LRN,最后max_pooling, pool_size=(3, 3),stride=2;

(3)第三层:卷积3, 输入为第二层的输出,卷积核个数为384, kernel_size= (3×3×256),padding=1, 第三层没有做LRN和Pool

(4)第四层:卷积4, 输入为第三层的输出,卷积核个数为384, kernel_size= (3×3), padding=1, 和第三层一样,没有LRN和Pool

(5)第五层:卷积5, 输入为第四层的输出,卷积核个数为256, kernel_size= (3×3), padding=1。直接进行max_pooling, pool_size=(3, 3), stride= 2;

(6)第6,7,8层是全连接层,每一层的神经元的个数为4096,最终输出softmax为1000,因为上面介绍过,ImageNet这个比赛的分类个数为1000。全连接层中使用了RELU和Dropout。

实现步骤:

(1)alexnet.py:定义AlexNet网络模型;

(2)train.py:加载数据集并练,保存训练好的网络参数;

(3)test.py:训练集计算loss和accuracy;

(4)utils.py:可视化loss和预测图像;

(3)predict.py:得到训练好的网络参数后,用自己找的图像进行分类测试。

2.2.3 模型训练超参设置

(1)epoch=50,对训练集的全部数据进行50次完整的训练;

(2)batch_size=256,将训练集分成多个批次训练,每批数据大小为256;

(3)lr=0.01,定义优化器学习率。

3 实验结果及分析3.1 实验结果

3.1.1 开发环境介绍

Pytorch 1.10.2

torchvision 0.11.3

Conda4.5.4+Python 3.6.5

AMD Radeon R5 M200 Series+Intel(R) HD Graphics 5500

Win7+Pycharm

CPU

3.1.2 性能评估指标介绍

准确度: Accuracy = (TP + TN) / (TP + FN + FP + TN)

3.1.3 实验结果

表3.1 两种算法的准确率值

Accuracy

LeNet

66.0%

AlexNet

80.2%

图3.1 LeNet算法的Loss曲线图

图3.2 AlexNet算法的Loss曲线图

 

图3.3 LeNet网络预测结果图

图3.4 AlexNet网络预测结果图

3.2 实验结果分析

LeNet网络经过5个Epochs的训练,准确率达到了66.0%;AlexNet网络经过50个Epochs的训练,准确率达到了80.2%。 LeNet网络和AlexNet网络随着训练次数的增多,准确率不断提高,Loss 不断降低。由两个网络的准确率表3.1和Loss曲线图3.1和图3.2可知,AlexNet网络比LeNet网络的准确率更高,Loss更优;从预测结果看,LeNet网络预测成功3/5,AlexNet网络预测成功4/5,AlexNet网络比LeNet网络预测效果更好。

4 结论

AlexNet网络比LeNet网络的准确率更高,Loss更优,预测效果更好。AlexNet在结果上要优于LeNet很多,特别是其在处理大规模数据方便的优势更是明显。AlexNet的问世也开启了深度学习在计算机视觉领域的大规模应用,可以将其看做浅层神经网络和深层神经网络的分界线。

本文链接地址:https://www.jiuchutong.com/zhishi/298410.html 转载请保留说明!

上一篇:分割网络损失函数总结!交叉熵,Focal loss,Dice,iou,TverskyLoss!(网络分割算法)

下一篇:vue项目关于:Error Cannot find module ‘xxx\bin\vue-cli-service.js‘的解决方案(vue.$el)

  • 建筑业收到预收款预缴增值税
  • 中级会计报名必须用ie浏览器吗
  • 增值税专票开户行
  • 金税盘怎么向分行汇款
  • 银行手续费进项税怎么入账
  • 收到增值税普通发票
  • 领购增值税专用发票
  • 预收账款与预付账款均属于负债
  • 全面推开营改增试点12366热点问题解答(一)
  • 特许权使用费怎么入账
  • 教育培训机构涉税问题
  • 建筑行业印花税税率
  • 增值税如何计提和结转
  • 临时使用自建商品房是否需要缴纳房产税?
  • 丧失控股权的后果
  • 年末商品库存属于什么指标
  • 用盈余公积弥补职工福利费是什么类型
  • 公司亏损应该从哪入手
  • 销售外购设备并提供安装服务
  • 苹果电脑的删除
  • 公司从一个帐户里扣税吗
  • 经营负债是指什么
  • 什么是债券持有人
  • 土地拍卖资金交到哪里
  • wifi信号弱了
  • 使用php进行mysql数据库编程的基本步骤
  • 购入的无形资产
  • win11不能用u盘
  • 蓝牙有哪些功能
  • 不动产出租要交什么税
  • 罚款计入营业外支出影响当期损益
  • 【2023-Pytorch-检测教程】手把手教你使用YOLOV5做电线绝缘子缺陷检测
  • php 字节
  • 所有非批扣和所有批扣是什么意思
  • 垃圾分类手工小模型
  • 如何做架构规划图
  • 网站客服系统在线
  • 固定资产原值怎么确定
  • discuz是啥
  • 长期待摊费用科目性质
  • 所得税 补税
  • 公益事业捐赠有哪些税收优惠政策
  • 销售样品分录
  • 出口转内销会计分录举例
  • 营业费用占比
  • 房屋租赁协议印花税怎么计算
  • 项目过路费应该挂什么科目
  • 单位社保缴费基数比例
  • 预包装食品加工及销售营业执照图片
  • 什么情况下可以待岗
  • 怎么把应付账款冲平
  • 合并报表怎么合并
  • 企业利润率如何计算公式
  • 进口料件内销的关税和增值税怎么计算
  • 自产自销的茶叶公司怎么做账
  • 每月发票认证时间
  • 重要空白凭证是什么科目
  • mysql 从库
  • 游戏卡怎么打开
  • 高端电脑品牌
  • 如何设置linux
  • centos 空闲磁盘合并
  • win8.1流畅吗
  • 电脑xp自带的杀毒软件在哪里
  • 怎么用macbook
  • linux系统干嘛的
  • flash是什么文件夹
  • Win7系统可以装ie10浏览器么
  • javascriptdom编程
  • 远程计算机的命令
  • js函数里的函数怎么调用
  • js原型作用
  • jquery中的事件
  • unity camera fov
  • 基于jQuery的ajax方法封装
  • 四川国税局普通发票查询?
  • 税务局各部门职责
  • 深圳税务服务大厅电话
  • 土地增值税网上申报流程
  • 税务和海关哪个单位比较好
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设