【无标题】CNN在MATLAB中的实现

这篇博客介绍了如何利用卷积神经网络(CNN)训练一个手写数字识别模型。首先导入了训练和测试数据,接着定义了一个包含卷积层、ReLU激活函数、最大池化层和全连接层的CNN网络结构。使用SGDM求解器进行训练,并在测试集上评估,最终获得了97.70%的识别准确率。
摘要由CSDN通过智能技术生成

训练卷积神经网络的一些合成图像的手写数字,然后在测试集上运行训练好的网络,计算其准确性。

[XTrain, YTrain] = digitTrain4DArrayData;%导入训练数据
layers = [ ...
  imageInputLayer([28 28 1])
  convolution2dLayer(5,20)
  reluLayer
  maxPooling2dLayer(2,'Stride',2)
  fullyConnectedLayer(10)
  softmaxLayer
  classificationLayer];%定义CNN神经网络:输入为图像并给定图像大小;卷积核为5x5,20个;激励函数采用relu;采用2x2步长为2的最大池化
options = trainingOptions('sgdm', 'Plots', 'training-progress');%采用SGDM求解器并画出网络训练过程
net = trainNetwork(XTrain, YTrain, layers, options);
[XTest, YTest] = digitTest4DArrayData;%导入测试数据
YPred = classify(net, XTest);
accuracy = sum(YTest == YPred)/numel(YTest)

accuracy =
    0.9770

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值