本篇文章為大家展示了Matlab Deep Network Designer APP搭建神經(jīng)網(wǎng)絡(luò)及相關(guān)函數(shù)是什么,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
目前成都創(chuàng)新互聯(lián)已為上千的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁空間、網(wǎng)站托管、服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計(jì)、遼寧網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
(1)打開方式一
從Matlab工具欄APP處搜索Deep Network Designer點(diǎn)擊打開,或者在命令行窗口輸入命令:deepNetworkDesigner開啟
(2)新建神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
拖動(dòng)左側(cè)的圖標(biāo)到中心工作區(qū),然后點(diǎn)擊連接圖標(biāo)
(3)使用現(xiàn)成的神經(jīng)網(wǎng)絡(luò)
舉例使用alexnet,在窗口輸入alexnet,提示沒有安裝的話,就點(diǎn)擊紅色中的附加資源管理器,點(diǎn)擊安裝就行。安裝完成后,再次輸入alexnet即可。然后再APP中點(diǎn)擊導(dǎo)入,就會(huì)提示導(dǎo)入alexnet網(wǎng)絡(luò)。
(4)檢查網(wǎng)絡(luò)結(jié)構(gòu)是否正確
點(diǎn)擊工具欄的分析,可以查看網(wǎng)絡(luò)的結(jié)構(gòu),如果結(jié)構(gòu)不對(duì),會(huì)報(bào)錯(cuò)并紅色的提示。
(5)生成代碼代碼
點(diǎn)擊導(dǎo)出,選擇導(dǎo)出生成代碼。把layers的代碼拷貝出來,這就是你網(wǎng)絡(luò)結(jié)構(gòu)的代碼。
會(huì)生成實(shí)時(shí)腳本文件,layers就是我們搭建的神經(jīng)網(wǎng)絡(luò),單獨(dú)拷貝出來使用。
% 一個(gè)使用APP的Demo % 加載數(shù)據(jù)集 digitDatasetPath = fullfile(matlabroot,'toolbox','nnet', ... 'nndemos','nndatasets','DigitDataset'); imds = imageDatastore(digitDatasetPath, ... 'IncludeSubfolders',true, ... 'LabelSource','foldernames'); % 展示數(shù)據(jù)集 figure numImages = 10000; perm = randperm(numImages,20); for i = 1:20 subplot(4,5,i); imshow(imds.Files{perm(i)}); end % 劃分?jǐn)?shù)據(jù)集和測(cè)試集出來 numTrainingFiles = 750; [imdsTrain,imdsTest] = splitEachLabel(imds,numTrainingFiles,'randomize'); % 使用搭建的神經(jīng)網(wǎng)絡(luò) layers = [ ... imageInputLayer([28 28 1]) convolution2dLayer(5,20) reluLayer maxPooling2dLayer(2,'Stride',2) fullyConnectedLayer(10) softmaxLayer classificationLayer]; % 配置訓(xùn)練參數(shù) options = trainingOptions('sgdm', ... 'MaxEpochs',20,... 'InitialLearnRate',1e-4, ... 'Verbose',false, ... 'Plots','training-progress'); % 訓(xùn)練神經(jīng)網(wǎng)絡(luò) net = trainNetwork(imdsTrain,layers,options); % 使用神經(jīng)網(wǎng)絡(luò),這是分類的例子。使用classify.搭配神經(jīng)網(wǎng)絡(luò)中的最后一層classificationLayer % 如果是回歸的神經(jīng)網(wǎng)絡(luò),則神經(jīng)網(wǎng)絡(luò)的最后一層是regressionLayer,搭配predict使用,就是替換classify為predict YPred = classify(net,imdsTest); YTest = imdsTest.Labels; accuracy = sum(YPred == YTest)/numel(YTest)
官方文檔講解
根據(jù)自己的訓(xùn)練需要,只選擇需要的參數(shù)設(shè)定即可,不設(shè)定的就是執(zhí)行默認(rèn)值
options = TrainingOptionsSGDM with properties: Momentum: 0.9000 InitialLearnRate: 0.0100 % 初始學(xué)習(xí)率 LearnRateSchedule: 'piecewise' % 學(xué)習(xí)率周期 LearnRateDropFactor: 0.2000 % 學(xué)習(xí)率下降因子 LearnRateDropPeriod: 5 % 學(xué)習(xí)率下降周期 L2Regularization: 1.0000e-04 % L2正則化參數(shù) GradientThresholdMethod: 'l2norm' GradientThreshold: Inf % 梯度閾值 MaxEpochs: 20 % 最大epochs MiniBatchSize: 64 % 最小batch大小 Verbose: 1 % 是否窗口打印訓(xùn)練進(jìn)度 VerboseFrequency: 50 ValidationData: [] % 放入驗(yàn)證集數(shù)據(jù)和驗(yàn)證集標(biāo)簽 ValidationFrequency: 50 % 驗(yàn)證頻率 ValidationPatience: Inf Shuffle: 'once' % 打亂訓(xùn)練集的次數(shù) CheckpointPath: '' ExecutionEnvironment: 'auto' % 設(shè)置CPU或者GPU執(zhí)行 WorkerLoad: [] OutputFcn: [] Plots: 'training-progress' % 是否顯示訓(xùn)練可視化的過程圖 SequenceLength: 'longest' SequencePaddingValue: 0 SequencePaddingDirection: 'right' DispatchInBackground: 0 ResetInputNormalization: 1 ``` ## 2.3 trainNetwork [官方文檔講解](https://www.mathworks.com/help/deeplearning/ref/trainnetwork.html) 簡(jiǎn)單的使用格式如下,其他格式參考官方文檔講解 ```matlab net = trainNetwork(X,Y,layers,options) % X是訓(xùn)練集的數(shù)據(jù)集,Y是訓(xùn)練集的標(biāo)簽集
這兩個(gè)函數(shù)是用來調(diào)用神經(jīng)網(wǎng)絡(luò)模型的,用測(cè)試集去測(cè)試輸出結(jié)果。predict函數(shù)搭配回歸神經(jīng)網(wǎng)絡(luò)使用,就是神經(jīng)網(wǎng)絡(luò)的最后一層是regressionLayer,如2.1例子中42行就是替換classify為predict。classify函數(shù)搭配分類神經(jīng)網(wǎng)絡(luò),就是神經(jīng)網(wǎng)絡(luò)中的最后一層是classificationLayer。
result = classify(net,testData) % 第一個(gè)參數(shù)是訓(xùn)練的網(wǎng)絡(luò)模型 % 第二個(gè)參數(shù)是測(cè)試的數(shù)據(jù) % result表示用神經(jīng)網(wǎng)絡(luò)處理TestData最終的輸出結(jié)果
(1)首先開發(fā)一個(gè)過擬合的模型
? 添加更多的層
? 讓每一層變得更大
? 訓(xùn)練更多的輪次
(2)然后抑制過擬合
? dropout
? 正則化
? 圖像增強(qiáng)
(3)再次調(diào)節(jié)超參數(shù)
? 學(xué)習(xí)速率
? 隱藏層單元數(shù)
? 訓(xùn)練輪次
超參數(shù)的選擇是一個(gè)經(jīng)驗(yàn)不斷測(cè)試的結(jié)果,經(jīng)典機(jī)器學(xué)習(xí)的方法,如特征工程、增加訓(xùn)練數(shù)據(jù)要做交叉驗(yàn)證。
? 增大網(wǎng)絡(luò)容量,直到過擬合
? 采取措施抑制過擬合
? 繼續(xù)增大網(wǎng)絡(luò)容量,直到過擬合
上述內(nèi)容就是Matlab Deep Network Designer APP搭建神經(jīng)網(wǎng)絡(luò)及相關(guān)函數(shù)是什么,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
網(wǎng)頁題目:MatlabDeepNetworkDesignerAPP搭建神經(jīng)網(wǎng)絡(luò)及相關(guān)函數(shù)是什么
文章URL:http://jinyejixie.com/article46/psphhg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、做網(wǎng)站、ChatGPT、軟件開發(fā)、App設(shè)計(jì)、外貿(mào)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)