主要内容

深入学习网络组成

要创建一个自定义层本身定义了一层图,你可以声明一个dlnetwork作为一个可学的参数对象属性(可学的)部分层定义。这种方法被称为网络的作文。您可以使用网络作文:

  • 创建一个自定义层代表一块可学的层,例如,一个残块。

  • 创建一个网络与控制流,例如,一个网络的部分可以动态地改变取决于输入数据。

  • 创建一个网络与循环,例如,一个网络部分饲料输出回本身。

嵌套网络都可学的和状态参数,例如,网络与批量标准化或LSTM层,宣布的网络属性(可学的,国家)部分层定义。

为一个例子,演示如何定义一个自定义层包含一个可学的dlnetwork对象,看到定义嵌套深度学习层

为一个例子,演示如何训练一个网络嵌套层,明白了火车深学习网络嵌套层

自动初始化可学的dlnetwork培训对象

您可以创建一个自定义图层,让软件自动初始化任何嵌套的可学的参数dlnetwork父后网络完全构造对象。嵌套网络的自动初始化意味着你不需要跟踪的大小和形状的输入传递给每个定制层包含一个嵌套dlnetwork

使用预测向前功能dlnetwork必须格式化对象,输入数据dlarray对象。确保软件经过格式化的dlarray对象层功能,包括Formattablemixin类定义。

classdefmyLayer < nnet.layer。层& nnet.layer.Formattable结束

利用自动初始化时,您必须指定该构造函数创建一个未初始化的dlnetwork对象。创建一个未初始化的dlnetwork对象,设置初始化名称错误的选项。你不需要指定一个输入层,因此您不需要指定一个输入规模的层。

函数层= myLayer%初始化层属性。%定义网络。层= [%网络层到这里。];层。网络= dlnetwork (lgraph,初始化= false);结束

当父网络初始化,可学的任何嵌套的参数dlnetwork对象初始化在同一时间。可学的参数的大小取决于输入数据的大小自定义层。软件通过嵌套网络传播数据并自动初始化参数根据大小和传播的初始化属性层嵌套网络。

如果父母网络训练使用trainNetwork函数,那么任何嵌套的dlnetwork对象初始化时调用trainNetwork。如果父母是一个网络dlnetwork,那么任何嵌套的dlnetwork构造对象时初始化父网络(如果父母dlnetwork初始化建设)或当你使用初始化与父母网络功能(如果父母dlnetwork在建设不是初始化)。

如果你不想使用自动初始化,您可以构建自定义层的嵌套网络已经初始化。在这种情况下,嵌套网络之前初始化父网络。初始化嵌套网络建设,您必须手动指定任何嵌套的输入网络的大小。这需要手动指定任何嵌套的输入网络的大小。可以通过使用输入层或通过提供输入示例dlnetwork构造函数。因为你必须指定任何输入的大小dlnetwork对象,您可能需要指定输入大小当您创建图层。帮忙确定输入层的大小,您可以使用analyzeNetwork大小的函数,检查前一层的激活。

预测和转发功能

一些层在训练和在预测上的表现也不同。例如,一个辍学层执行辍学只在训练和预测期间没有任何影响。一层使用两个函数来执行一个传球前进:预测向前。如果前进传球在预测时间,然后层使用预测函数。如果前进传球训练时间,然后层使用向前函数。如果你不需要两个不同的功能预测时间和培训时间,然后你就可以省略了向前函数。当你这样做时,层使用预测在训练时间。

当实现预测向前自定义功能层,确保层dlnetwork对象的行为的正确方法,使用预测向前功能dlnetwork对象,分别。

自定义层与可学的dlnetwork向后对象不支持自定义功能。金宝app

此示例代码显示了如何使用预测向前功能与dlnetwork输入。

函数Z =预测(层,X)%预测使用网络。网= layer.Network;Z =预测(净,X);结束函数Z =前进(层,X)%提出通过使用网络。网= layer.Network;Z =前进(净,X);结束

此示例代码显示了如何使用预测向前功能与dlnetwork对象的状态参数。

函数[Z,状态]=预测(层,X)%预测使用网络。网= layer.Network;[Z,状态]=预测(净,X);结束函数[Z,状态]=前进(层,X)%提出通过使用网络。网= layer.Network;[Z,状态]=前进(净,X);结束

如果dlnetwork对象没有在训练和预测上的表现也不同,那么你可以省略转发功能。在这种情况下,软件使用预测函数在训练。

GPU的兼容性

如果层转发功能完全支持金宝appdlarray对象,则GPU兼容层。否则,必须支持GPU兼容,层功能的输入并返回输出类型金宝appgpuArray(并行计算工具箱)

许多MATLAB®内置函数支持金宝appgpuArray(并行计算工具箱)dlarray输入参数。支持的功能列表金宝appdlarray对象,看到与dlarray支持函数的列表金宝app。对GPU执行的函数的列表,看看运行在GPU MATLAB函数(并行计算工具箱)使用GPU深度学习,你也必须有一个支持GPU设备。金宝app支持设备的信息,请参阅金宝appGPU计算的需求(并行计算工具箱)在MATLAB与gpu的更多信息,见在MATLAB GPU计算(并行计算工具箱)

另请参阅

||||

相关的话题