主要内容

通过使用度量功能来评估深度学习实验

此示例显示如何使用度量函数来评估实验结果。默认情况下,当您运行内置培训实验时,实验管理器计算实验中每次试验的丢失,准确性(用于分类实验),以及均方根误差(用于回归实验)。要计算其他措施,请创建自己的度量标准功能。例如,您可以将度量函数定义为:

  • 测试培训网络的预测性能。

  • 通过计算最终时期的验证损失的坡度来评估培训进度。

  • 显示使用不同网络架构的实验中使用的网络的大小。

当每次试验完成培训时,实验管理器会评估度量函数并在结果表中显示它们的值。

在本例中,训练一个网络对手写数字图像进行分类。两个度量函数决定了经过训练的网络如何识别数字1和7的图像。有关使用实验管理器训练网络进行图像分类的更多信息,请参见通过扫描Quand参数进行图像分类

定义度量函数

将度量函数添加到内置培训实验中。

1.在这方面实验窗格,下面指标, 点击添加

2.在添加指标对话框,输入度量标准功能的名称,然后单击好吧.如果您输入项目中已存在的函数的名称,则实验管理器将其添加到实验中。否则,实验管理器创建由默认模板定义的函数。

3.选择度量标准功能的名称,然后单击编辑.MATLAB®编辑器中的度量标准函数打开。

对度量函数的输入是具有三个字段的结构:

  • 训练有素系列网络对象或者Dagnetwork.对象返回的Trainnetwork.功能。有关更多信息,请参阅

  • TrainingInfo.是包含返回的培训信息的结构Trainnetwork.功能。有关更多信息,请参阅信息

  • 参数是具有来自HyperParameter表的字段的结构。

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

开放实验

首先,打开这个例子。实验经理使用可以检查和运行的预配置实验加载项目。打开实验,在实验浏览器窗格中,双击实验的名称(分类表现)。

内置训练实验包括描述,一种超参数,设置功能和度量函数的集合来评估实验结果。有关更多信息,请参阅配置内置训练实验

描述字段包含实验的文本描述。对于此示例,描述是:

数字分类,使用度量函数评估结果: -  OnesAssevens返回1S错误分类为7S的百分比。-  Sevensones将7s错误分类为1S的百分比返回。

普遍存在部分指明策略(彻底的扫描)和用于实验的超参数值。运行实验时,实验经理使用HyperParameter表中指定的HyperParameter值的每个组合来列车。此示例使用HyperParametersinitiallearnrate.势头

设置功能配置实验的培训数据,网络架构和培训选项。检查设置功能,下设置功能, 点击编辑.setup函数在MATLAB编辑器中打开。

在此示例中,设置功能有三个部分。

  • 负载培训数据定义包含培训和验证数据的图像数据存储。此示例从位数数据集中加载图像。有关此数据集的更多信息,请参阅图像数据集

  • 定义网络架构为深度学习分类定义卷积神经网络的架构。此示例使用Setup功能模板提供的默认分类网络。

  • 指定培训选项定义了一个培训选项实验的对象。该示例加载培训选项的值'italllearnrate''势头'来自HyperParameter表。

指标部分指定评估实验结果的可选功能。实验经理每次完成培训网络时都会评估这些功能。要检查度量标准功能,请选择度量标准功能的名称,然后单击编辑.度量函数在MATLAB编辑器中打开。

此示例包括两个度量函数。

  • Onesassevens.返回标号的图像的百分比,其中训练有素的网络将作为七十岁的网络错误分类。

  • 七索返回经过训练的网络将数字7误分类为1的图像的百分比。

这些函数中的每一个都使用训练有素的网络对整个数字数据集进行分类。然后,该函数确定实际标签和预测标签不同意的图像的数量。例如,功能Onesassevens.计算具有实际标签的图像数量'1'和预测的标签'7'

功能Metric Output = Sevensones(Triminfo)
实际Value='7';predvalue ='1';
net = trialinfo.trountnetwork;
digitdatasetpath = fullfile(matlabroot,'工具箱''nnet'......'nndemos''nndatasets''digitdataset');imds = imageageataStore(DigitDatasetPath,......'insertumbfolders',真的,......'labelsource''foldernames');
YACTUAL = IMDS.LABELS;Ypred =分类(网络,IMDS);
k = sum(yactual == amectualvalue&ypred == predvalue);n = sum(yactual == actualValue);
Metric Output = 100 * k / n;
结尾

同样,功能七索计算具有实际标签的图像数量'7'和预测的标签'1'

运行实验

运行实验时,实验经理培训由设置功能定义的网络六次。每次试用都使用不同的Hyper参数值组合。默认情况下,实验管理器一次运行一项试验。如果您有并行计算工具箱™,则可以同时运行多个试验。为了获得最佳结果,在运行实验之前,请启动一个并行池,与GPU一样多的工人。有关更多信息,请参阅使用实验管理器并行训练网络GPU通万博1manbetx过发布支持(并行计算工具箱)

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

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

结果表显示了每次试用的度量函数值。

评估结果

要找到您的实验的最佳结果,请对结果表进行排序。例如,找到具有最小错误分类的试验。

  1. 指向Onesassevens.柱子。

  2. 单击三角形图标。

  3. 选择按升序排序

同样,通过打开下拉菜单,找到具有最小错误分类Sevens的试验七索列和选择按升序排序

如果没有单一试验同时最小化两个度量函数,请考虑优先考虑对每个度量求均匀的试验。例如,在这些结果中,试验6具有每个度量函数的第二个最小值。

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

  1. 在结果表中,右键单击Onesassevens.最佳试验的细胞。

  2. 选择添加注释

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

  4. 重复上一个步骤七索细胞。

有关更多信息,请参阅排序,过滤和注释实验结果

关闭实验

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

也可以看看

应用

功能

相关的话题