Matlab AlexNet 识别花

1. 首先,你要又并行计算的工具箱,在插件选项里面找到,安装即可

Matlab AlexNet 识别花_第1张图片


2. 下载训练的数据集,采用matlab演示的材料即可

https://matlabacademy-content.mathworks.com/3.3/R2017b/content/deeplearning_course_files.zip


3. 运行训练脚本:

The code below implements transfer learning for the flower species example in this chapter. It is available as the script  trainflowers.mlx in the course example files. You can download the course example files from the help menu in the top-right corner. Note that this example can take some time to run if you run it on a computer that does not have a GPU.

Get training images


flower_ds = imageDatastore('Flowers','IncludeSubfolders',true,'LabelSource','foldernames');
[trainImgs,testImgs] = splitEachLabel(flower_ds,0.6);
numClasses = numel(categories(flower_ds.Labels));

 

Create a network by modifying AlexNet


net = alexnet;
layers = net.Layers;
layers(end-2) = fullyConnectedLayer(numClasses);
layers(end) = classificationLayer;

 

Set training algorithm options


options = trainingOptions('sgdm','InitialLearnRate', 0.001);

 

Perform training


[flowernet,info] = trainNetwork(trainImgs, layers, options);

 

Use trained network to classify test images


testpreds = classify(flowernet,testImgs);


4. 运行报错,GPU内存不够

Matlab AlexNet 识别花_第2张图片


设置小一点:options = trainingOptions('sgdm','InitialLearnRate', 0.001,'MiniBatchSize', 64);


options = 


  TrainingOptionsSGDM - 属性:


                     Momentum: 0.9000
             InitialLearnRate: 1.0000e-03
    LearnRateScheduleSettings: [1×1 struct]
             L2Regularization: 1.0000e-04
      GradientThresholdMethod: 'l2norm'
            GradientThreshold: Inf
                    MaxEpochs: 30
                MiniBatchSize: 128
                      Verbose: 1
             VerboseFrequency: 50
               ValidationData: []
          ValidationFrequency: 50
           ValidationPatience: 5
                      Shuffle: 'once'
               CheckpointPath: ''
         ExecutionEnvironment: 'auto'
                   WorkerLoad: []
                    OutputFcn: []
                        Plots: 'none'
               SequenceLength: 'longest'

         SequencePaddingValue: 0


5. 结果

Matlab AlexNet 识别花_第3张图片


Matlab AlexNet 识别花_第4张图片

你可能感兴趣的:(计算机视觉)