1、相關理論
CNN 模型為深度學習模型,其具有局部連接、權 值共享和空間相關等特性,以及強魯棒性和容錯能力,適用于提取深層數據特征。經典的 CNN 模型結構包含輸入層、隱含層、全連接層和輸出層。卷積神經網絡的模型如下圖所示。
2、數據集的準備
以手寫數據集為例,搭建卷積神經網絡進行分類識別。數據集下載地址: ,下面為部分數據集圖片展示。
3、數據集的讀取與劃分
將下載好的數據集保存好,digitDatasetPath 填寫數據集的保存路徑即可。每一類隨機選擇750張圖片作為測試數據,其他的作為訓練數據。
%%數據集的讀取
digitDatasetPath = 'D:\\MTALAB2019\\手寫數據集\\DigitDataset';
imds = imageDatastore(digitDatasetPath, ...
'IncludeSubfolders',true,'LabelSource','foldernames');
%%數據集的劃分
numTrainFiles = 750;
[imdsTrain,imdsValidation] = splitEachLabel(imds,numTrainFiles,'randomize');
4、卷積神經網絡的搭建
layers = [
imageInputLayer([28 28 1]) %%輸入層
%%卷積層
convolution2dLayer(3,8,'Padding','same')
batchNormalizationLayer
reluLayer
%%池化層
maxPooling2dLayer(2,'Stride',2)
%%卷積層
convolution2dLayer(3,16,'Padding','same')
batchNormalizationLayer
reluLayer
%%池化層
maxPooling2dLayer(2,'Stride',2)
%%卷積層
convolution2dLayer(3,32,'Padding','same')
batchNormalizationLayer
reluLayer
%全連接層
fullyConnectedLayer(10)
softmaxLayer
classificationLayer];
網絡搭建好了,就需要對網絡的參數進行設置,相關參數代碼如下:
options = trainingOptions('sgdm', ...
'InitialLearnRate',0.01, ...
'MaxEpochs',10, ...
'Shuffle','every-epoch', ...
'ValidationData',imdsValidation, ...
'ValidationFrequency',30, ...
'Verbose',false, ...
'Plots','training-progress');
** 5、訓練卷積神經網絡**
net = trainNetwork(imdsTrain,layers,options);
** 訓練結果如下 **
6、測試與運行結果
YPred = classify(net,imdsValidation);
YValidation = imdsValidation.Labels;
accuracy = sum(YPred == YValidation)/numel(YValidation)
accuracy = 0.9868
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
神經網絡
+關注
關注
42文章
4810瀏覽量
102958 -
cnn
+關注
關注
3文章
354瀏覽量
22659 -
卷積神經網絡
+關注
關注
4文章
369瀏覽量
12217
發布評論請先 登錄
相關推薦
熱點推薦
卷積神經網絡如何使用
卷積神經網絡(CNN)究竟是什么,鑒于神經網絡在工程上經歷了曲折的歷史,您為什么還會在意它呢? 對于這些非常中肯的問題,我們似乎可以給出相對簡明的答案。
發表于 07-17 07:21
卷積神經網絡模型發展及應用
卷積神經網絡模型發展及應用轉載****地址:http://fcst.ceaj.org/CN/abstract/abstract2521.shtml深度學習是機器學習和人工智能研究的最新趨勢,作為一個
發表于 08-02 10:39
人工智能之卷積神經網絡
人工智能機器學習有關算法內容,人工智能之機器學習主要有三大類:1)分類;2)回歸;3)聚類。今天我們重點探討一下卷積神經網絡(CNN)算法。 前言: 人工智能 機器學習有關算法內容,請參見公眾號
什么是神經網絡?什么是卷積神經網絡?
在介紹卷積神經網絡之前,我們先回顧一下神經網絡的基本知識。就目前而言,神經網絡是深度學習算法的核心,我們所熟知的很多深度學習算法的背后其實都
卷積神經網絡python代碼
卷積神經網絡python代碼 ; 卷積神經網絡(Convolutional Neural Network,簡稱CNN)是
卷積神經網絡的基本原理 卷積神經網絡發展 卷積神經網絡三大特點
中最重要的神經網絡之一。它是一種由多個卷積層和池化層(也可稱為下采樣層)組成的神經網絡。CNN
卷積神經網絡算法代碼matlab
卷積神經網絡算法代碼matlab 卷積神經網絡(Convolutional Neural Network,CNN)是
評論