Matlab深度学习入门实例:基于AlexNet的红绿灯识别(附完整代码)

AlexNet于2012年出现在ImageNet的图像分类比赛中,并取得了当年冠军,从此卷积神经网络开始受到人们的强烈关注。AlexNet是深度卷积神经网络研究热潮的开端,也是研究热点从传统视觉方法过度到卷积神经网络网络的标志。

AlexNet模型共包含有8层,包含5个卷积层和3个全连接层,AlexNet相比于LeNet的特点在于,对于每一个卷积层,均包含RELU和局部响应归一化处理。

须设置数据集文件夹与神经网络的m文件地址相同,数据集文件夹命名为为TrafficLightSamples,其包含的子文件夹如下,每一类共有500张图片:

部分图片如下:

搭建网络的部分函数不在赘述,可以查看上一篇文章(LeNet)。

代码实现与详解:

1.加载图片样本:

% 功能:对AlexNet用样本数据进行训练,实现对输入图像的识别
clear
close all
clc
% 加载图像数据
imds = imageDatastore('TrafficLightSamples', ...
       'IncludeSubfolders',true, ...
       'LabelSource','foldernames');

'IncludeSubfolders',true:包含每个文件夹中的所有文件和子文件夹;

'LabelSource','foldernames':根据文件夹名称分配标签并储存在Labels属性中。

2.将样本划分为训练集和测试集,并统计分类数量:

% 划分验证集和训练集
[imdsTrain,imdsValidation] = splitEachLabel(imds,0.7,'randomized');

% 确定训练数据中需要分类的种类
numClasses = numel(categories(imdsTrain.Labels));

imdsTrain为训练样本数据,imdsValidation为验证样本数据,0.7为训练样本的比例。

3.构建AlexNet并进行可视化分析:

% A
  • 16
    点赞
  • 73
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 14
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白太岁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值