dlarray
用于定制训练循环的深度学习阵列
描述
深度学习阵列存储具有可选数据格式标签的数据,用于自定义训练循环,并使函数能够通过自动微分计算和使用导数。
提示
对于大多数深度学习任务,你可以使用预先训练好的网络,并使其适应你自己的数据。有关演示如何使用迁移学习重新训练卷积神经网络来对一组新图像进行分类的示例,请参见训练深度学习网络对新图像进行分类.或者,您可以从头创建和训练网络layerGraph
对象具有trainNetwork
而且trainingOptions
功能。
如果trainingOptions
函数没有为您的任务提供所需的训练选项,那么您可以使用自动区分创建自定义训练循环。要了解更多信息,请参见为自定义训练循环定义深度学习网络.
创建
描述
输入参数
输出参数
使用
dlarray
数据格式使您能够执行下表中的函数,并确保数据具有适当的形状。
函数 | 操作 | 验证输入维度 | 影响输入维度的大小 |
---|---|---|---|
avgpool |
计算输入数据在移动的矩形(或立方)空间(“年代” )由池大小参数定义的区域。 |
“年代” |
“年代” |
batchnorm |
规范每个通道中包含的值(“C” )的输入资料。 |
“C” |
|
crossentropy |
计算估计值和目标值之间的交叉熵,按批处理的大小平均(“B” )维度。 |
“年代” ,“C” ,“B” ,“T” ,“U” (估计值和目标数组必须具有相同的大小。) |
“年代” ,“C” ,“B” ,“T” ,“U” (输出是一个未格式化的标量。) |
dlconv |
使用滤波器数组计算输入数据的深度学习卷积,匹配空间(“年代” )和(通道的函数)(“C” )输入的维度,并添加一个恒定的偏差。 |
“年代” ,“C” |
“年代” ,“C” |
dltranspconv |
使用滤波器数组计算输入数据的深度学习转置卷积,匹配空间(“年代” )和(通道的函数)(“C” )输入的维度,并添加一个恒定的偏差。 |
“年代” ,“C” |
“年代” ,“C” |
fullyconnect |
计算输入数据的加权和,并对每批应用偏差(“B” )和时间(“T” )维度。 |
“年代” ,“C” ,“U” |
“年代” ,“C” ,“B” ,“T” ,“U” (输出总是有数据格式“CB” ,“CT” ,或“施” .) |
格勒乌 |
对输入数据应用门控循环单元计算。 |
“年代” ,“C” ,“T” |
“C” |
lstm |
对输入数据应用长短期记忆计算。 |
“年代” ,“C” ,“T” |
“C” |
maxpool |
计算输入数据在移动的矩形空间(“年代” )由池大小参数定义的区域。 |
“年代” |
“年代” |
maxunpool |
计算空间(“年代” )维度。 |
“年代” |
“年代” |
均方误差 |
计算估计值与目标值之间的半均方误差,并以批处理的大小为平均值(“B” )维度。 |
“年代” ,“C” ,“B” ,“T” ,“U” (估计值和目标数组必须具有相同的大小。) |
“年代” ,“C” ,“B” ,“T” ,“U” (输出是一个未格式化的标量。) |
softmax |
将softmax激活应用于每个通道(“C” )的输入资料。 |
“C” |
这些函数要求每个维度都有一个标签。通过将第一个输入作为格式化的格式提供,可以指定维度标签格式dlarray
,或使用the“DataFormat”
函数的名称-值参数。
dlarray
的维度标签排序“SCBTU”
.这种强制消除了操作中隐式匹配输入之间标签的模糊语义。dlarray
还强制维度标签“C”
,“B”
,“T”
每个最多只能出现一次。使用这些维度标签的函数对每个标签最多接受一个维度。
dlarray
控件关联的数据格式dlarray
(会变暗
),删除数据格式(stripdims
),并获取与特定维度标签相关联的维度(finddim
).
有关如何dlarray
使用格式进行操作,请参见显著的dlarray行为.
对象的功能
avgpool |
将数据池化为空间维度上的平均值 |
batchnorm |
对每个通道的所有观测数据进行独立的归一化 |
crossentropy |
分类任务的交叉熵损失 |
会变暗 |
尺寸标签dlarray |
dlconv |
深度学习卷积 |
dlgradient |
使用自动区分计算自定义训练循环的梯度 |
dltranspconv |
深度学习转置卷积 |
extractdata |
从dlarray |
finddim |
查找带有指定标签的尺寸 |
fullyconnect |
求和所有加权输入数据并应用偏差 |
格勒乌 |
门控循环装置 |
leakyrelu |
应用泄漏整流线性单元激活 |
lstm |
长短期记忆 |
maxpool |
将数据池到最大值 |
maxunpool |
取消最大池化操作的输出 |
均方误差 |
半均方误差 |
线性整流函数(Rectified Linear Unit) |
应用整流线性单元激活 |
乙状结肠 |
应用sigmoid激活 |
softmax |
应用softmax激活通道维度 |
stripdims |
删除dlarray 数据格式 |
一个dlarray
还允许函数进行数值、矩阵和其他操作。完整列表见支持dlarray的函数列表万博1manbetx.
例子
提示
一个
dlgradient
调用必须在函数内部。若要获得梯度的数值,必须使用dlfeval
,函数的实参必须是adlarray
.看到在深度学习工具箱中使用自动区分.为了正确评估渐变,
dlfeval
必须调用只使用受支持函数的函数万博1manbetxdlarray
.看到支持dlarray的函数列表万博1manbetx.