Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

使用深度网络设计器构建网络

使用深度网络设计器以交互方式构建和编辑深度学习网络。使用此 App,您可以:

  • 导入和编辑网络。

  • 从头开始构建新网络。

  • 添加新层并创建新连接。

  • 查看和编辑层属性。

  • 组合网络。

  • 导入自定义层。

  • 生成 MATLAB® 代码来创建网络架构。

提示

从预训练网络开始并通过迁移学习来对它进行微调,通常比从头开始训练新网络要快得多,也容易得多。有关如何使用预训练网络执行迁移学习的示例,请参阅使用深度网络设计器进行迁移学习

打开 App 和导入网络

要打开深度网络设计器,请在 App 选项卡上的机器学习和深度学习下,点击该 App 的图标。您也可以从命令行打开该 App:

deepNetworkDesigner

如果您要修改或复制一个现有的预训练网络,您可以从深度网络设计器首页选择它。在首页中,您还可以选择未经训练的序列网络、从工作区加载网络或从头开始构建网络。

选择网络后,深度网络设计器会打开该网络并显示一个缩小视图。

在深度网络设计器的设计器窗格中,您可以构造、编辑和分析您的网络。在该 App 中,您可以使用任何内置层来构建网络。您也可以通过在命令行创建自定义层,然后将其导入 App 来使用它。有关在深度网络设计器中使用自定义输出层构造网络的示例,请参阅Import Custom Layer into Deep Network Designer。有关可用层的列表和自定义层的示例,请参阅深度学习层列表

通过点击新建,从设计器选项卡返回到首页。

创建和编辑网络

通过从网络层库中拖出模块并连接它们来组建一个网络。

You can also add layers from the workspace to the network in the Designer pane.

  1. Click New.

  2. Pause on From Workspace and click Import.

  3. Choose the layers or network to import and click OK.

  4. Click Add to add the layers or network to the Designer pane.

  5. Connect the new layers.

You can also combine pretrained networks by clicking New and selecting them from the start page.

要查看和编辑层属性,请选择一个层。有关层属性的信息,请点击层名称旁边的帮助图标。

有关所有层属性的信息,请点击深度学习层列表页上的表中的层名称。有关选择合适网络架构的提示,请参阅Deep Learning Tips and Tricks

您可以一次处理多个层块。选择多个层,然后复制和粘贴或删除。例如,您可以使用层块来创建卷积、批量归一化和 ReLU 层组的多个副本。您可以预训练网络的末尾添加层来增加网络深度。您也可以编辑预训练网络来简化它。例如,您可以通过从 GoogLeNet 网络中删除层单元(如初始模块)来创建一个更简单的网络。

对于经过训练的网络,复制层会同时复制权重和偏置。

检查网络

要检查网络并进一步详细检查层,请在设计器选项卡上,点击分析。调查问题并检查层属性,以解决网络中的大小不匹配问题。返回到深度网络设计器以编辑层,然后通过再次点击分析检查结果。如果 Deep Learning Network Analyzer 报告零错误,则表示编辑过的网络已准备就绪,可以开始训练。

训练网络

您可以使用深度网络设计器导入数据并训练网络。在数据选项卡上,选择您要用于训练网络的数据。选择导入数据 > 导入图像数据,从工作区导入一个 ImageDatastore 对象,或导入一个包含图像子文件夹(按类划分)的文件夹。选择导入数据 > 导入数据存储,从工作区导入一个内置或自定义数据存储。有关详细信息,请参阅Import Data into Deep Network Designer

导入数据后,通过选择训练选项卡并点击训练,对网络进行训练。深度网络设计器会复制您在设计器窗格中构造的网络,然后使用导入的数据训练该网络。如果您要更好地控制训练,请点击训练选项来修改训练选项。有关导入数据和训练在深度网络设计器中构造的网络的详细信息,请参阅使用深度网络设计器进行迁移学习

提示

深度网络设计器可以基于图像数据或数据存储对象训练网络。有关如何导出网络并针对序列分类问题对其进行训练的示例,请参阅使用深度网络设计器创建简单的序列分类网络

导出网络

要将未经训练的网络导出到工作区进行训练,请在设计器选项卡上,点击导出。深度网络设计器将网络导出到包含已编辑网络层的一个新变量。

有关显示如何设置训练选项和评估经过训练的网络准确度的命令行示例,请参阅创建简单的深度学习网络以用于分类训练残差网络进行图像分类

要将经过训练的网络导出到工作区,请在训练选项卡上,点击导出。导出的网络具有由深度网络设计器训练的权重的层。

生成 MATLAB 代码

使用深度网络设计器,您可以生成 MATLAB 代码,以重新创建在该 App 中执行的网络构造和训练。

有关如何生成用于重新创建网络架构的 MATLAB 代码的示例,请参阅Generate MATLAB Code to Recreate Network Layers

有关如何生成用于重新创建网络架构和网络训练的 MATLAB 代码的示例,请参阅Generate MATLAB Code to Train Network

另请参阅

相关主题