从系列中:深度神经网络
实验管理器应用程序允许您在各种初始条件下设置用于训练、微调和解释深度学习网络的实验。通过以下步骤的详细演练,了解如何设置深度学习实验:
你好。我叫乔·希克林。我是The MathWorks的高级开发人员。在我的上一个视频中,我向你展示了实验管理器如何将你为深度学习系统所做的大量实验自动化。在这个视频中,我将向你展示我必须做什么才能让实验管理器运行我的实验。
要配置实验管理器来运行您的实验,您需要遵循以下四个步骤。首先,你需要编写运行某种深度学习实验的脚本。你可能已经有这样的东西了。
下一步是将其转换为函数。在这里,我在开头添加了一个函数语句,在结尾添加了一个结束语句。这个函数必须返回三个东西。它必须返回包含你的数据、网络层和训练选项的数据存储。它需要一个参数,叫params,我待会再详细讲。此外,不要打电话给trainnetwork,因为实验经理会为你做这件事。
第三步是工作量最大的。你必须让你的函数根据参数参数的值执行不同的试验。在这种情况下,我将使用一个更大或更小的数据集,我将增加数据或不增加数据,这取决于这个参数的值。我是这样做的。我有一个switch语句,它查看参数的数据集字段,并基于它关闭它。取决于它是哪一个字符串,我使用的是更大或更小的数据集,我是否在做扩充。我们现在指望实验管理器用不同的param值来调用这个函数。数据集,对于每一个值,我将做不同的事情。
最后一步是告诉实验经理你的功能。如果我打开实验管理器,点击新建实验,他想知道函数的名字,就是我刚刚写的,参数的名字,让我们看一下。这是数据集——以及该参数的可能值。我碰巧把它们放在这里。
就是这样。现在当我运行这个实验时,实验管理器会调用我的函数,对于数据集参数的值,我们会一次传入一个不同的字符串。结果就是这个数据集,就像我之前做的那样,产生了这个。另外两个实验以完全相同的方式进行。在第二个实验中,我改变了网络架构,所以在我的函数中,我添加了一个switch语句,它打开了另一个参数net,并根据它的值创建了四种不同类型的网络之一。
为了告诉实验管理器,我们去到网络定义,告诉它,这是函数的名字,这是参数的名字,这是可能的值。这就是我要做的。
最后一个实验——我稍微改变了一些训练选项,在那个实验中,它有点不同。我只是简单地将参数值直接传递给trainingOptions命令。我有一个求解器,epochs, miniBatchSize,和learnRate,就像我说的,我只是直接传递这些。为了告诉实验经理,我也做了同样的事情。这是函数的名字。这是我使用的每个参数的名称,还有值。
这就是为我进行54次试验所需的一切。我希望我已经向您展示了实验管理器可以是自动化、记录和存储深度学习实验的极好方法。如果你想了解更多,请点击页面底部的链接。
您也可以从以下列表中选择一个网站:
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。