zoukankan      html  css  js  c++  java
  • 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内存不够



    设置小一点: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. 结果




  • 相关阅读:
    TCP协议与UDP协议的区别
    打印阵列
    Java的动态代理机制详解(转)
    Java内存模型(转载)
    Hibernate工作原理及为什么要用?(转http://www.cnblogs.com/javaNewegg/archive/2011/08/28/2156521.html)
    SpringMVC工作原理
    FPGrowth算法原理
    十大排序之快速排序
    python logging
    把字符串转换成整数
  • 原文地址:https://www.cnblogs.com/mrcharles/p/11879791.html
Copyright © 2011-2022 走看看