【Efficient-Net】基于Efficient-Net效滤网的目标识别算法的MATLAB仿真
生活随笔
收集整理的這篇文章主要介紹了
【Efficient-Net】基于Efficient-Net效滤网的目标识别算法的MATLAB仿真
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
%定義efficientnet的結構
layers = [imageInputLayer([128 128 3]);%注意,128,128,3是訓練樣本的大小,這個和參考文獻不一樣,要根據實際輸入設置%stage1convolution2dLayer(floor(depth)+1,floor(width)+1,'Padding','same');%layer 1batchNormalizationLayer;reluLayer;maxPooling2dLayer(floor(resl)+1,'Stride',2);%stage2convolution2dLayer(floor(depth)+1,floor(width)+1,'Padding','same');%layer 1batchNormalizationLayer;reluLayer;%stage3convolution2dLayer(floor(depth)+1,floor(width)+1,'Padding','same');%layer 2batchNormalizationLayer;convolution2dLayer(floor(depth)+1,floor(width)+1,'Padding','same');%layer 2batchNormalizationLayer;reluLayer; %stage4convolution2dLayer(floor(depth)+1,floor(width)+1,'Padding','same');%layer 2batchNormalizationLayer;convolution2dLayer(floor(depth)+1,floor(width)+1,'Padding','same');%layer 2batchNormalizationLayer;reluLayer;maxPooling2dLayer(floor(resl)+1,'Stride',2);%stage5convolution2dLayer(floor(depth)+1,floor(width)+1,'Padding','same');%layer 3batchNormalizationLayer;convolution2dLayer(floor(depth)+1,floor(width)+1,'Padding','same');%layer 3batchNormalizationLayer;convolution2dLayer(floor(depth)+1,floor(width)+1,'Padding','same');%layer 3batchNormalizationLayer;reluLayer;maxPooling2dLayer(floor(resl)+1,'Stride',2);%stage6convolution2dLayer(floor(depth)+1,floor(width)+1,'Padding','same');%layer 3batchNormalizationLayer;convolution2dLayer(floor(depth)+1,floor(width)+1,'Padding','same');%layer 3batchNormalizationLayer;convolution2dLayer(floor(depth)+1,floor(width)+1,'Padding','same');%layer 3batchNormalizationLayer;reluLayer;%stage7convolution2dLayer(floor(depth)+1,floor(width)+1,'Padding','same');%layer 4batchNormalizationLayer;convolution2dLayer(floor(depth)+1,floor(width)+1,'Padding','same');%layer 4batchNormalizationLayer;convolution2dLayer(floor(depth)+1,floor(width)+1,'Padding','same');%layer 4batchNormalizationLayer;convolution2dLayer(floor(depth)+1,floor(width)+1,'Padding','same');%layer 4batchNormalizationLayer;reluLayer;maxPooling2dLayer(floor(resl)+1,'Stride',2);%stage8convolution2dLayer(floor(depth)+1,floor(width)+1,'Padding','same');%layer 1batchNormalizationLayer;reluLayer;maxPooling2dLayer(floor(resl)+1,'Stride',2);%stage9convolution2dLayer(floor(depth)+1,floor(width)+1,'Padding','same');%layer 1batchNormalizationLayer;reluLayer;%FCfullyConnectedLayer(CLASSNUM);%softmaxsoftmaxLayer;%輸出分類結果classificationLayer;];options = trainingOptions('sgdm', ...'InitialLearnRate', 0.01, ...'MaxEpochs', 200, ...'Shuffle', 'every-epoch', ...'ValidationData', imdsValidation, ...'ValidationFrequency', 5, ...'Verbose', false, ...'Plots', 'training-progress');
rng(1);
%使用訓練集訓練網絡
net = trainNetwork(imdsTrain, layers, options);
訓練過程如下:
訓練精度為94.17%。
平均損失過程如下:
不同訓練樣本數量對應的訓練性能(注意,每次訓練會有一定的波動和偏差)
| 訓練樣本比例 | 改進前的訓練性能 | 改進后的訓練性能 |
| 5% | 85.46% | 92.23% |
| 10% | 89.20% | 90.08% |
| 20% | 94.65% | 92.94% |
| 40% | 93.53% | 94.82% |
| 60% | 94.66% | 98.06% |
| 80% | 94.67% | 98.08% |
| 90% | 98.08% | 100% |
?A05-79
總結
以上是生活随笔為你收集整理的【Efficient-Net】基于Efficient-Net效滤网的目标识别算法的MATLAB仿真的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【LTE】LTEMIMO系统的MATLA
- 下一篇: 【Efficient-Net】基于Eff