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