Main Content

本页对应的英文页面已更新,但尚未翻译。 若要查看最新内容,请点击此处访问英文页面。

使用 Deep Network Designer 构建网络

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

  • 导入和编辑网络。

  • 从头开始构建新网络。

  • 拖放以添加新层并创建新连接。

  • 查看和编辑层属性。

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

提示

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

打开 App 和导入网络

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

deepNetworkDesigner

如果您要修改或复制一个现有的预训练网络,您可以从首页选择它。

您也可以点击 Designer 选项卡上的新建,从工作区加载一个网络,选择一个预训练网络或从头开始构建一个网络。Deep Network Designer 将显示整个网络的缩小视图。

在该 App 中,您可以使用任何内置层来构建网络。此外,您还可以通过在命令行中创建自定义层,然后将网络导入该 App 来使用自定义层。有关可用层的列表和自定义层的示例,请参阅深度学习层列表

在 Deep Network Designer 的 Designer 窗格中,您可以构造、编辑和分析您的网络。

创建和编辑网络

通过从网络层库中拖出模块并连接它们来组建一个网络。您可以一次处理多个层模块。选择多个层,然后复制和粘贴或删除。

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

有关所有层属性的信息,请点击深度学习层列表页上的表中的层名称。

有关选择合适网络架构的提示,请参阅Deep Learning Tips and Tricks

创建层模块来复制和连接重复的单元可能很有用。例如,您可以使用层模块来创建卷积、批量归一化和 ReLU 层组的多个副本。您可以预训练网络的末尾添加层来增加网络深度。或者,如果您处理的是小输入图像,您可以编辑预训练网络来简化它。例如,您可以通过从 GoogLeNet 网络中删除层单元(如初始模块)来创建一个更简单的网络。

检查网络

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

使用 Deep Network Designer 训练网络

您可以使用 Deep Network Designer 针对图像分类问题训练网络。在数据选项卡上,点击导入数据以选择您要用于训练网络的图像数据。

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

提示

Deep Network Designer 可以训练图像分类网络。有关如何导出网络并针对序列分类问题对其进行训练的示例,请参阅Create Simple Sequence Classification Network Using Deep Network Designer

导出网络

要将未经训练的网络导出到工作区进行训练,请在 Designer 选项卡上,点击导出。Deep Network Designer 将网络导出到包含已编辑网络层的一个新变量。导出后,您可以将该层变量提供给 trainNetwork 函数。

对于此示例,假设从该 App 导出的层命名为 lgraph_1,图像位于名为 images 的增强图像数据存储中,options 包含训练选项。要训练网络,请键入:

trainedNet = trainNetwork(images,lgraph_1,options)

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

要将经过训练的网络导出到工作区,请在训练选项卡上,点击导出。导出的网络具有由 Deep Network Designer 训练的权重的层。

生成 MATLAB 代码

使用 Deep Network Designer,您可以生成 MATLAB 代码,以重新创建在该 App 中执行的网络构造和训练。

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

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

另请参阅

相关主题