主要内容

实验经理

设计和运行实验以培训和比较深入学习网络

描述

实验经理应用程序使您可以在各种初始条件下创建深度学习实验,以便在各种初始条件下培训网络并进行结果。例如,您可以使用深度学习实验:

  • 扫过一系列的封面计值或使用贝叶斯优化来查找最佳培训选项。贝叶斯优化需要统计和机器学习工具箱™。

  • 使用内置功能Trainnetwork.或定义自己的自定义培训函数。

  • 比较使用不同的数据集或测试不同的深网络架构的结果。

要快速设置实验,您可以从预配置的模板开始。实验模板支持工作流程,包括图像分类,图像回归,序列金宝app分类,语义分段和自定义训练循环。

实验经理提供可视化工具,如培训图和混乱矩阵,过滤器以改进您的实验结果,以及记录您的观察的注释。为了提高再现性,每次运行实验时,实验经理都会存储实验定义的副本。您可以访问过去的实验定义,以跟踪产生每个结果的HyperParameter组合。

实验经理组织您的实验并产生了项目

  • 您可以在同一项目中存储多个实验。

  • 每个实验都包含一组结果每次运行实验。

  • 每组结果包括一个或多个审判对应于超参数的不同组合。

默认情况下,实验管理器一次运行一项试验。如果您有并行计算工具箱™,则可以将实验配置为同时运行多项试验。并行运行实验允许您使用MATLAB®训练正在进行中。有关更多信息,请参阅使用实验经理并行培训网络

实验浏览器窗格显示实验的层次结构和项目的结果。例如,该项目有两个实验,每个实验都有几套结果。

实验浏览器显示两个实验。实验1是一个有四个结果的内置训练实验。实验2是一种定制培训实验,有两个结果。

蓝色烧瓶表示使用该培训实验Trainnetwork.功能。绿色烧杯表示依赖于不同训练功能的自定义培训实验。要打开实验的配置并查看其结果,请双击实验的名称或一组结果。

打开实验管理器应用程序

  • MATLAB TOOLSTRIP:在应用标签,下面机器学习和深度学习,单击“应用”图标。

  • matlab命令提示符:输入实验管理员

例子

展开全部

此示例显示如何通过扫描HyperParameters使用实验模板进行图像分类。使用此模板,您可以快速设置使用的内置培训实验Trainnetwork.功能。有关使用实验管理器求解图像分类问题的更多例子,请参阅创建一个深入学习的分类实验使用实验经理并行培训网络。有关彻底策略的更多信息,请参阅通过使用贝叶斯优化调整实验超参数

打开该示例以加载项目,使用预配置的实验,您可以检查和运行。打开实验,在实验浏览器窗格,双击实验的名称(实验1)。

或者,您可以通过以下步骤自行配置实验。

1.开放实验经理。一个对话框提供与入门教程和最近的项目的链接,以及按钮以创建新项目或从文档中打开示例。

2.新的, 选择项目。一个对话框列出了几个支持工作流程的模板,包括图像分类,图像回归,序列分类,语义分段和金宝app自定义培训循环。

3.在图像分类实验, 选择通过扫描Quand参数进行图像分类

4.指定新项目的名称和位置。实验经理在项目中开启了一个新的实验。这实验窗格显示定义实验的描述,超参数,设置功能和度量标准。

5.在描述字段,输入实验的描述:

数字分类,使用各种初始学习率。

6.普遍存在,更换值myinitiallearnrate.0.0025:0.0025:0.015。验证战略被设置为彻底的扫描

7.下面设置功能, 点击编辑。安装函数在MATLAB编辑器中打开。Setup功能指定实验的培训数据,网络架构和培训选项。在该实验中,设置功能有三个部分。

  • 负载培训数据定义包含实验的培训和验证数据的图像数据存储。该实验使用数字数据集,该数字集由0到9的数字为10,000个28-×28像素灰度图像,由它们所代表的数字分类。有关此数据集的更多信息,请参阅图像数据集

  • 定义网络架构为深度学习分类定义简单的卷积神经网络的架构。

  • 指定培训选项定义A.培训选项实验的对象。在该实验中,设置函数加载初始学习率的值myinitiallearnrate.在HyperParameter表中输入。

运行实验时,实验经理培训由设置功能定义的网络六次。每次试验都使用HyperParameter表中指定的学习速率之一。默认情况下,实验管理器一次运行一项试验。如果您有并行计算工具箱,则可以同时运行多个试验。为了获得最佳结果,在运行实验之前,请启动一个并行池,与GPU一样多的工人。有关更多信息,请参阅使用实验经理并行培训网络GPU通金宝app过发布支持(并行计算工具箱)

  • 要在实验管理器工具系列上运行一个试验,请单击跑步

  • 要同时运行多次试验,请单击使用并行接着跑步。如果没有当前并行池,则实验管理器使用默认群集配置文件启动一个。实验经理然后执行多个同时试验,具体取决于可用的并行工作人员的数量。

结果表显示了每次试验的准确性和损失。

实验正在运行时,单击培训情节显示培训情节并跟踪每次试验的进度。您还可以监视Matlab命令窗口中的培训进度。

点击混乱矩阵显示每个已完成的试用中的验证数据的混淆矩阵。

实验完成后,您可以通过使用列或过滤试验来对表进行排序过滤器窗格。您还可以通过向结果表添加注释来记录观察。有关更多信息,请参阅排序,过滤和注释实验结果

要测试单个试验的性能,导出培训的网络或审判的培训信息。在这一点实验经理ToolStrip,选择出口>训练有素的网络要么出口>培训信息, 分别。有关更多信息,请参阅信息

关闭实验,在其中实验浏览器窗格,右键单击项目的名称并选择关闭项目。实验经理关闭项目中包含的所有实验和结果。

此示例显示如何通过扫描HyperParameters使用实验模板进行图像回归。使用此模板,您可以快速设置使用的内置培训实验Trainnetwork.功能。有关使用实验经理解决回归问题的另一个例子,请参阅为回归创建深度学习实验。有关彻底策略的更多信息,请参阅通过使用贝叶斯优化调整实验超参数

打开该示例以加载项目,使用预配置的实验,您可以检查和运行。打开实验,在实验浏览器窗格,双击实验的名称(实验1)。

或者,您可以通过以下步骤自行配置实验。

1.开放实验经理。一个对话框提供与入门教程和最近的项目的链接,以及按钮以创建新项目或从文档中打开示例。

2.新的, 选择项目。一个对话框列出了几个支持工作流程的模板,包括图像分类,图像回归,序列分类,语义分段和金宝app自定义培训循环。

3.在图像回归实验, 选择通过扫描Quand参数来回归

4.指定新项目的名称和位置。实验经理在项目中开启了一个新的实验。这实验窗格显示定义实验的描述,超参数,设置功能和度量标准。

5.在描述字段,输入实验的描述:

回归预测数字的旋转角度,使用各种初始学习速率。

6.普遍存在,更换值myinitiallearnrate.0.001:0.001:0.006。验证战略被设置为彻底的扫描

7.下面设置功能, 点击编辑。安装函数在MATLAB编辑器中打开。Setup功能指定实验的培训数据,网络架构和培训选项。在该实验中,设置功能有三个部分。

  • 负载培训数据将实验的培训和验证数据定义为4-D阵列。培训和验证数据每个都包括从数字数据集中的5000个图像组成。每个图像显示0到9的数字,旋转一定的角度。回归值对应于旋转的角度。有关此数据集的更多信息,请参阅图像数据集

  • 定义网络架构为深度学习回归定义简单的卷积神经网络的架构。

  • 指定培训选项定义A.培训选项实验的对象。在该实验中,设置函数加载初始学习率的值myinitiallearnrate.在HyperParameter表中输入。

运行实验时,实验经理培训由设置功能定义的网络六次。每次试验都使用HyperParameter表中指定的学习速率之一。默认情况下,实验管理器一次运行一项试验。如果您有并行计算工具箱,则可以同时运行多个试验。为了获得最佳结果,在运行实验之前,请启动一个并行池,与GPU一样多的工人。有关更多信息,请参阅使用实验经理并行培训网络GPU通金宝app过发布支持(并行计算工具箱)

  • 要在实验管理器工具系列上运行一个试验,请单击跑步

  • 要同时运行多次试验,请单击使用并行接着跑步。如果没有当前并行池,则实验管理器使用默认群集配置文件启动一个。实验经理然后执行多个同时试验,具体取决于可用的并行工作人员的数量。

结果表显示了每次试用的根均匀误差(RMSE)和丢失。

实验正在运行时,单击培训情节显示培训情节并跟踪每次试验的进度。您还可以监视Matlab命令窗口中的培训进度。

实验完成后,您可以通过使用列或过滤试验来对表进行排序过滤器窗格。您还可以通过向结果表添加注释来记录观察。有关更多信息,请参阅排序,过滤和注释实验结果

要测试单个试验的性能,导出培训的网络或审判的培训信息。在这一点实验经理ToolStrip,选择出口>训练有素的网络要么出口>培训信息, 分别。有关更多信息,请参阅信息

关闭实验,在其中实验浏览器窗格,右键单击项目的名称并选择关闭项目。实验经理关闭项目中包含的所有实验和结果。

此示例显示如何使用自定义培训循环使用培训实验模板进行图像分类。使用此模板,您可以快速设置自定义培训实验。

打开该示例以加载项目,使用预配置的实验,您可以检查和运行。打开实验,在实验浏览器窗格,双击实验的名称(实验1)。

或者,您可以通过以下步骤自行配置实验。

1.开放实验经理。一个对话框提供与入门教程和最近的项目的链接,以及按钮以创建新项目或从文档中打开示例。

2.新的, 选择项目。一个对话框列出了几个支持工作流程的模板,包括图像分类,图像回归,序列分类,语义分段和金宝app自定义培训循环。

3.在图像分类实验, 选择使用自定义训练循环进行图像分类

4.选择新项目的位置和名称。实验经理在项目中开启了一个新的实验。这实验窗格显示定义实验的描述,超参数和培训函数。

3.在描述字段,输入实验的描述:

数字分类,使用各种初始学习率。

4.下面普遍存在,更换值myinitiallearnrate.0.0025:0.0025:0.015

5.培训功能, 点击编辑。训练函数在Matlab编辑器中打开。培训函数指定实验使用的培训数据,网络架构,培训选项和培训过程。在该实验中,培训函数有四个部分。

  • 负载培训数据定义实验的培训数据作为4-D阵列。该实验使用数字数据集,该数字包括从0到9的数字的5,000个28-by-28像素灰度图像,由它们所代表的数字分类。有关此数据集的更多信息,请参阅图像数据集

  • 定义网络架构为深度学习分类定义简单的卷积神经网络的架构。要使用自定义训练循环训练网络,培训函数表示网络作为dlnetwork.目的。

  • 指定培训选项定义实验使用的培训选项。在该实验中,训练函数加载初始学习率的值myinitiallearnrate.在HyperParameter表中输入。

  • 火车模型定义实验使用的自定义培训循环。对于每个时代,自定义训练循环将数据播放并迭代批次的数据。对于每个迷你批处理,自定义训练循环评估模型渐变,状态和丢失,确定基于时间的衰减学习率计划的学习率,并更新网络参数。要跟踪培训的进度并记录培训损失的价值,培训函数使用实验.Monitor.目的监视器

当您运行实验时,实验经理培训由训练函数定义的网络六次。每次试验都使用HyperParameter表中指定的学习速率之一。默认情况下,实验管理器一次运行一项试验。如果您有并行计算工具箱,则可以同时运行多个试验。为了获得最佳结果,在运行实验之前,请启动一个并行池,与GPU一样多的工人。有关更多信息,请参阅使用实验经理并行培训网络GPU通金宝app过发布支持(并行计算工具箱)

  • 要在实验管理器工具系列上运行一个试验,请单击跑步

  • 要同时运行多次试验,请单击使用并行接着跑步。如果没有当前并行池,则实验管理器使用默认群集配置文件启动一个。实验经理然后执行多个同时试验,具体取决于可用的并行工作人员的数量。

结果表显示了每次试验的培训损失。

实验正在运行时,单击培训情节显示培训情节并跟踪每次试验的进度。

实验完成后,您可以通过使用列或过滤试验来对表进行排序过滤器窗格。您还可以通过向结果表添加注释来记录观察。有关更多信息,请参阅排序,过滤和注释实验结果

要测试个别试验的表现,导出审判的培训产出。在这一点实验经理ToolStrip,选择出口。在该实验中,训练输出是包含训练丢失和训练网络的值的结构。

关闭实验,在其中实验浏览器窗格,右键单击项目的名称并选择关闭项目。实验经理关闭项目中包含的所有实验和结果。

此示例显示了如何使用实验管理器应用程序设置内置培训实验。内置培训实验依赖于此Trainnetwork.函数和支持工作流程,如图像金宝app分类,图像回归,序列分类和语义分割。

内置训练实验包括描述,一种超参数,设置功能和度量函数的集合来评估实验结果。

在里面描述字段,输入实验的描述。

在下面普遍存在,选择用于您的实验的策略。

  • 扫过一系列的超级计数器值,设置战略彻底的扫描。在HyperParameter表中,指定实验中使用的超参数的值。您可以使用数字,逻辑或字符串值指定作为标量级或向量的Hyper参数值。例如,这些是有效的HyperParameter规范:

    • 0.01

    • 0.01:0.01:0.05

    • [0.01 0.02 0.04 0.08]

    • [“SGDM”“RMSPROP”“ADAM”]

    运行实验时,实验经理使用表中指定的Hyper参数值的每个组合来列车。

  • 通过使用贝叶斯优化,设置最佳培训选项战略贝叶斯优化。在HyperParameter表中,指定实验中使用的超参数的这些属性:

    • 范围- 输入一个双元素向量,它给出了真实或整数的veridParameter的下限和上限,或列出了分类超参数的可能值的字符串阵列或单元数组。

    • 类型- 选择真实的(真实价值的HyperParameter),整数(整数估值的HyperParameter),或分类(分类超参数)。

    • 转变- 选择没有任何(没有变换)或日志(对数变换)。

      为了日志,封面必须是真实的要么整数和积极的。在对数刻度上搜索和建模QuandExameter。

    运行实验时,实验经理搜索HyperParameters的最佳组合。实验中的每次试验都会根据先前试验的结果使用Hyper参数值的新组合。指定实验的持续时间贝叶斯优化选项,输入最长时间(以秒为单位)和要运行的最大试验数。贝叶斯优化需要统计和机器学习工具箱。有关更多信息,请参阅通过使用贝叶斯优化调整实验超参数

设置功能配置实验的培训数据,网络架构和培训选项。设置函数的输入是具有来自HyperParameter表的字段的结构。设置函数的输出必须与输入的输入匹配Trainnetwork.功能。此表列出了设置功能的支持的签名。金宝app

实验目标 设置功能签名
使用指定的图像和响应列车用于图像分类和回归任务的网络图片和培训选项定义选项
功能[图像,图层,选项] =实验_setup(params)......结尾
使用指定的图像列车图片和由此指定的响应回应
功能[图像,响应,图层,选项] =实验_setup(params)......结尾
使用所指定的序列和响应列车用于序列或时间序列分类和回归任务(例如,LSTM或GRU网络)的网络序列
功能[序列,图层,选项] =实验_setup(params)......结尾
使用指定的序列列车网络序列和由此指定的响应回应
功能[序列,批发,图层,选项] =实验_setup(params)......结尾
使用由指定的特征数据和响应列车用于特征分类或回归任务(例如,多层Perceptron或MLP,网络)的网络。特征
功能[功能,图层,选项] =实验_setup(params)......结尾
使用指定的功能数据列车特征和由此指定的响应回应
功能[功能,响应,图层,选项] =实验_setup(params)......结尾

笔记

在设置培训选项时,实验管理器不支持并行执行金宝app'executionenvironment''多gpu'要么'平行线'或者启用培训选项时'disparctinbackground'。有关更多信息,请参阅使用实验经理并行培训网络

指标部分指定评估实验结果的功能。对度量函数的输入是具有三个字段的结构:

度量标准函数的输出必须是标量编号,逻辑值或字符串。

如果您的实验使用贝叶斯优化,请选择从中优化的度量优化列表。在里面方向列表,指定您想要的最大化要么最小化这个度量标准。实验经理使用此度量标准来确定高参数的最佳组合为您的实验。您可以从表中选择标准培训或验证度量(例如准确性,RMSE或丢失)或自定义度量标准。

此示例显示了如何使用实验管理器应用程序设置自定义培训实验。自定义培训实验支持需要除此之外的培训功能的工作流程金宝appTrainnetwork.。这些工作流程包括:

  • 培训由图层图未定义的网络。

  • 使用自定义学习率计划培训网络。

  • 使用自定义函数更新网络的可知参数。

  • 培训生成的对抗性网络(GAN)。

  • 培训暹罗网络。

自定义培训实验包括描述,一种超级参数表和训练功能。

在里面描述字段,输入实验的描述。

在下面普遍存在,指定实验中使用的超参数的值。您可以使用数字,逻辑或字符串值指定作为标量级或向量的Hyper参数值。例如,这些是有效的HyperParameter规范:

  • 0.01

  • 0.01:0.01:0.05

  • [0.01 0.02 0.04 0.08]

  • [“SGDM”“RMSPROP”“ADAM”]

运行实验时,实验经理使用表中指定的Hyper参数值的每个组合来列车。

培训功能指定实验使用的培训数据,网络架构,培训选项和培训程序。培训函数的输入是:

  • 具有来自HyperParameter表的字段的结构

  • 一个实验.Monitor.您可以用来跟踪培训进度的对象,更新结果表中的信息字段,培训使用的度量标准的记录值,并产生培训图

实验管理器可节省培训函数的输出,因此您可以在培训完成时将其导出到MATLAB工作区。

笔记

信息和度量标准列在结果表中显示了实验的数字值。此外,度量值记录在训练图中。使用信息列以显示要在结果表中显示但不在培训图中的值。

此示例显示如何在运行实验后进行比较并记录您的观察。

运行实验时,实验经理在多次乘以设置函数定义的网络。每次试验都使用不同的HyperParameters组合。实验完成后,表显示每个试验的培训和验证度量(例如准确性,RMSE和丢失)。要比较实验结果,您可以使用这些指标对结果表和过滤试验进行排序。

要在结果表中对试验进行排序,请使用与训练或验证度量相对应的列的下拉菜单。

  1. 指向要排序的列的标题。

  2. 单击三角形图标。

  3. 选择按升序排序要么按降序排序

    结果表显示验证精度列的下拉菜单。

要从结果表中过滤试用时,请使用过滤器窗格。

  1. 在这一点实验经理ToolStrip,选择过滤器

    过滤器窗格显示结果表中的数字指标的直方图。从中删除直方图过滤器窗格,在结果表中,打开相应列的下拉菜单并清除显示过滤器复选框。

  2. 调整用于培训或验证度量的直方图下的滑块,以便您要过滤。

    验证准确性的直方图,滤光机设置为62和64.88。

    结果表仅显示了所选范围中具有度量值的试验。

    结果表仅显示验证精度大于62的试验。

  3. 要恢复结果表中的所有试验,请关闭实验结果窗格并重新打开结果实验浏览器窗格。

要记录关于实验结果的观察,请添加注释。

  1. 右键单击结果表中的单元格,然后选择添加注释。或者,在实验台上选择结果表中的单元格,然后选择注释>添加注释

    结果表显示具有最大值的验证精度单元的下拉菜单。

  2. 在里面注释窗格,在文本框中输入您的观察。

    注释文本说,“到目前为止最佳准确性。火车更长,以提高这个价值。”

    您可以为结果表中的每个单元格添加多个注释。每个注释都标有时间戳。

  3. 要突出显示对应于注释的单元格,请单击注释上方的链接。

打开注释窗格并查看所有注释,在实验管理器工具系列中,选择注释>查看注释

此示例显示如何检查产生给定结果的实验​​的配置。

经过实验后,您可以打开实验来源窗格查看实验描述和超参数表的只读副本,以及与实验使用的所有功能的链接。您可以使用此窗格中的信息跟踪生成每个结果的数据,网络和培训选项的配置。

例如,假设您多次运行实验。每次运行实验时,更改设置功能的内容,但始终使用相同的功能名称。您第一次运行实验,您可以使用实验模板提供的默认网络进行图像分类。第二次运行实验,修改设置功能以加载预制歌曲联网网络,用新图层替换最终图层进行转移学习。有关使用这两个网络架构的示例,请参阅创建一个深入学习的分类实验

在第一个实验结果窗格,单击查看实验来源关联。实验经理打开一个实验来源窗格包含产生第一套结果的实验​​定义。单击窗格底部的链接以打开第一次运行实验的安装功能。您可以将此设置功能复制以使用简单的分类网络重新运行实验。

第二个实验结果窗格,单击查看实验来源关联。实验经理打开一个实验来源包含产生第二组结果的实验​​定义的窗格。单击窗格底部的链接以打开第二次使用实验的设置功能。您可以使用转移学习复制此设置功能以重新运行实验。

实验管理器存储您使用的所有功能的副本,因此在修改和重新运行实验时,您不必手动重命名这些功能。

相关例子

提示

在R2020A中介​​绍