添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

1 APP的使用

(1)打开方式一
从Matlab工具栏APP处搜索Deep Network Designer点击打开,或者在命令行窗口输入命令:deepNetworkDesigner开启
在这里插入图片描述

(2)新建神经网络结构
拖动左侧的图标到中心工作区,然后点击连接图标
在这里插入图片描述

(3)使用现成的神经网络
举例使用alexnet,在窗口输入alexnet,提示没有安装的话,就点击红色中的附加资源管理器,点击安装就行。安装完成后,再次输入alexnet即可。然后再APP中点击导入,就会提示导入alexnet网络。
在这里插入图片描述

(4)检查网络结构是否正确
点击工具栏的分析,可以查看网络的结构,如果结构不对,会报错并红色的提示。
在这里插入图片描述

(5)生成代码代码
点击导出,选择导出生成代码。把layers的代码拷贝出来,这就是你网络结构的代码。
在这里插入图片描述

会生成实时脚本文件,layers就是我们搭建的神经网络,单独拷贝出来使用。
在这里插入图片描述

2 使用神经网络

2.1 简单例子

% 一个使用APP的Demo
% 加载数据集
digitDatasetPath = fullfile(matlabroot,'toolbox','nnet', ...
    'nndemos','nndatasets','DigitDataset');
imds = imageDatastore(digitDatasetPath, ...
    'IncludeSubfolders',true, ...
    'LabelSource','foldernames');
% 展示数据集
figure
numImages = 10000;
perm = randperm(numImages,20);
for i = 1:20
    subplot(4,5,i);
    imshow(imds.Files{perm(i)});
% 划分数据集和测试集出来
numTrainingFiles = 750;
[imdsTrain,imdsTest] = splitEachLabel(imds,numTrainingFiles,'randomize');
% 使用搭建的神经网络
layers = [ ...
    imageInputLayer([28 28 1])
    convolution2dLayer(5,20)
    reluLayer
    maxPooling2dLayer(2,'Stride',2)
    fullyConnectedLayer(10)
    softmaxLayer
    classificationLayer];
% 配置训练参数
 options = trainingOptions('sgdm', ...
    'MaxEpochs',20,...
    'InitialLearnRate',1e-4, ...
    'Verbose',false, ...
    'Plots','training-progress');
 % 训练神经网络
 net = trainNetwork(imdsTrain,layers,options);
 % 使用神经网络,这是分类的例子。使用classify.搭配神经网络中的最后一层classificationLayer
 % 如果是回归的神经网络,则神经网络的最后一层是regressionLayer,搭配predict使用,就是替换classify为predict
 YPred = classify(net,imdsTest);
YTest = imdsTest.Labels;
accuracy = sum(YPred == YTest)/numel(YTest)

2.2 trainOptions

官方文档讲解
根据自己的训练需要,只选择需要的参数设定即可,不设定的就是执行默认值

options = 
  TrainingOptionsSGDM with properties:
                    Momentum: 0.9000
            InitialLearnRate: 0.0100      % 初始学习率
           LearnRateSchedule: 'piecewise' % 学习率周期
         LearnRateDropFactor: 0.2000            % 学习率下降因子
         LearnRateDropPeriod: 5                     % 学习率下降周期
            L2Regularization: 1.0000e-04    % L2正则化参数
     GradientThresholdMethod: 'l2norm'      
           GradientThreshold: Inf                   % 梯度阈值
                   MaxEpochs: 20                    % 最大epochs
               MiniBatchSize: 64                    % 最小batch大小
                     Verbose: 1                     % 是否窗口打印训练进度
            VerboseFrequency: 50
              ValidationData: []                    % 放入验证集数据和验证集标签
         ValidationFrequency: 50                    % 验证频率
          ValidationPatience: Inf
                     Shuffle: 'once'            % 打乱训练集的次数
              CheckpointPath: ''    
        ExecutionEnvironment: 'auto'            % 设置CPU或者GPU执行
                  WorkerLoad: []
                   OutputFcn: []
                       Plots: 'training-progress' % 是否显示训练可视化的过程图
              SequenceLength: 'longest'
        SequencePaddingValue: 0
    SequencePaddingDirection: 'right'
        DispatchInBackground: 0
     ResetInputNormalization: 1
## 2.3 trainNetwork
[官方文档讲解](https://www.mathworks.com/help/deeplearning/ref/trainnetwork.html)
简单的使用格式如下,其他格式参考官方文档讲解
```matlab
net = trainNetwork(X,Y,layers,options)
% X是训练集的数据集,Y是训练集的标签集

2.4 predict和classify

这两个函数是用来调用神经网络模型的,用测试集去测试输出结果。predict函数搭配回归神经网络使用,就是神经网络的最后一层是regressionLayer,如2.1例子中42行就是替换classify为predict。classify函数搭配分类神经网络,就是神经网络中的最后一层是classificationLayer。

result = classify(net,testData)
% 第一个参数是训练的网络模型
% 第二个参数是测试的数据
% result表示用神经网络处理TestData最终的输出结果

3 参数选择原则

(1)首先开发一个过拟合的模型
• 添加更多的层
• 让每一层变得更大
• 训练更多的轮次
(2)然后抑制过拟合
• dropout
• 正则化
• 图像增强
(3)再次调节超参数
• 学习速率
• 隐藏层单元数
• 训练轮次
超参数的选择是一个经验不断测试的结果,经典机器学习的方法,如特征工程、增加训练数据要做交叉验证。

4 构建网络的总原则

• 增大网络容量,直到过拟合
• 采取措施抑制过拟合
• 继续增大网络容量,直到过拟合

1 APP的使用(1)打开方式一从Matlab工具栏APP处搜索Deep Network Designer点击打开,或者在命令行窗口输入命令:deepNetworkDesigner开启(2)新建神经网络结构拖动左侧的图标到中心工作区,然后点击连接图标(3)使用现成的神经网络举例使用alexnet,在窗口输入alexnet,提示没有安装的话,就点击红色中的附加资源管理器,点击安装就行。安装完成后,再次输入alexnet即可。然后再APP中点击导入,就会提示导入alexnet网络。(4)检查 使用MATLAB创建和训练Alexnet神经网络数据集的GUI AlexNet是一个卷积神经网络,可以对来自ImageNet数据库的一百万张图像进行训练。 该网络深达8层,可以将图像分类为1000个对象类别,例如键盘,鼠标,铅笔和许多动物。 结果,网络已经学会了针对广泛图像的丰富特征表示。 网络的图像输入大小为227×227。 有关MATLAB:registered:中更多的预训练网络,请参见。 MATLAB 2019b或更高版本 深度学习工具箱 Alexnet支持包 如何使用? 首先将图像调整为227x227 不要在同一个文件夹中混合使用不同的类图像 在单独的文件夹中排列调整大小的图像并仔细设置每个文件夹的名称,因为代码将使用文件夹名称进行训练(例如:cat文件夹中的cat图片) 训练alexnet 加载创建的数据集并测
MATLAB强化学习实战(六) 使用Deep Network Designer创建智能体并使用图像观察进行训练 https://blog.csdn.net/wangyifan123456zz/article/details/109579918 这篇博客的模型文件 需要的话可以下载
2 深度学习的工作原理 层:是深度学习的基础组件,是一个数据处理模块,多个层就组成了网络。将预处理好的数据x输入到神经网络中,再通过一系列的数据变换来实现输入数据到预测值的映射,而每层的变换由一组权重w来进行实现。 损失函数:网络如...
很多小伙伴接触matlab深度学习时不清楚layer与training options参数 matlab深度学习中的layer与training options参数分别决定了你模型的网络架构与训练方式 layer参数包括你模型从输入走向输出的各层
### 回答1: Matlab deep network designer toolbox是一款用于深度神经网络设计的工具箱。该工具箱提供了一个直观的界面,可以帮助用户构建、训练和测试深度神经网络Matlab deep network designer toolbox基于深度学习的最新研究成果,用户可以在该工具箱中轻松地构建不同层次的神经网络结构,并通过修改不同的参数和超参数来优化模型效果。此外,该工具箱还支持多种训练算法,如反向传播、随机梯度下降等,用户可以根据自己的需要选择适合的算法。同时,Matlab deep network designer toolbox还提供了多种可视化工具,可以帮助用户分析模型的效果和预测结果,更好地理解深度神经网络的运作原理。 要下载Matlab deep network designer toolbox,用户需要先在MathWorks官网上注册账号并购买相应的Matlab许可证。然后登录Matlab软件,通过“Add-Ons”菜单中的“Get Add-Ons”选项,搜索并选择“Deep Learning Toolbox Model for Deep Network Designer”,点击“下载并安装”即可。下载完成后,用户可以在Matlab界面中找到该工具箱并开始使用。需要注意的是,该工具箱需要足够的计算资源和运行时间,因此,建议用户在高性能计算平台上使用该工具箱,以获得最佳的使用效果。 ### 回答2: Matlab Deep Network Designer Toolbox是一个强大的深度神经网络设计工具箱,可用于开发和测试深度神经网络模型。这个工具箱可以帮助开发者在Matlab平台上构建和调试深度学习模型,提高模型的效率和准确性。 如果需要下载Matlab Deep Network Designer Toolbox,可以在MathWorks官网上或者Matlab软件中的Add-On Explorer中进行下载和安装。在安装后,用户可以通过简单直观的用户界面设计和测试不同类型的深度学习网络,包括卷积神经网络、循环神经网络、转移学习等。用户可以对网络进行微调并获得可行的训练策略,以达到最佳的性能。 该工具箱提供了多种有用的工具,如网络可视化、结果分析、训练监视等,助力开发者实现更加高效的深度学习模型。此外,由于该工具箱是Matlab平台上的一部分,用户还可以利用Matlab的其他功能和工具,如数据处理和可视化工具等,来优化模型设计和实验过程。 总之,Matlab Deep Network Designer Toolbox是一个强大且易于使用的深度学习工具箱,对于专业和新手用户都是非常有用和便捷的。下载和使用该工具箱,将为开发者带来更加快速、稳定和准确的深度学习模型设计和研究体验。 ### 回答3: Matlab深度网络设计工具箱是Matlab的一个强大工具,可用于构建和训练深度学习网络。Matlab深度网络设计工具箱可以用于分类、回归、分割和检测等任务。该工具箱支持多种深度学习网络,包括卷积神经网络、递归神经网络、全连接神经网络等等。 在使用Matlab深度网络设计工具箱之前,需要先下载安装Matlab软件。下载安装后,根据自己的需要,可以在Matlab的官方网站上下载深度网络设计工具箱并进行安装。 安装完成后,可以通过打开Matlab命令行窗口,输入“deepNetworkDesigner”命令来打开该工具箱。使用该工具箱可以轻松地构建、训练和测试各种深度学习网络,并对其性能进行优化和调整。 总之,Matlab深度网络设计工具箱是一个非常强大的工具,可用于构建和训练深度学习网络,帮助用户更好地解决各种机器学习任务。