主要内容

dlarray.

用于自定义训练循环的深度学习阵列

描述

深度学习阵列使用可选的数据格式标签存储数据,用于自定义训练循环,并使函数能够通过自动区分计算和使用导数。

小费

对于大多数深度学习任务,您可以使用预先训练的网络并将其适应于您自己的数据。有关如何使用迁移学习重新训练卷积神经网络来对一组新的图像进行分类的示例,请参见训练深度学习网络分类新图像.或者,您可以从头创建和训练网络使用layerGraph的对象Trainnetwork.trainingOptions功能。

如果是trainingOptions函数没有提供您的任务所需的培训选项,那么您可以使用自动区分创建一个自定义培训循环。要了解更多,请查看定义自定义训练循环的深度学习网络

创建

描述

例子

DLX.= dlarray(X返回A.dlarray.代表的对象X.如果X是一个dlarray.DLX.是一份副本X

例子

DLX.= dlarray(XFMT.标记数据DLX.根据数据格式中的FMT..标签有助于在函数之间传递深度学习数据。看到用法.如果X是标签dlarray., 然后FMT.替换现有的标签。

例子

DLX.= dlarray(V.暗淡接受向量V.以及单一字符格式暗淡,并返回列向量dlarray..第一个维度DLX.有标签暗淡,第二个(单例)维度有标签'U'

输入参数

全部展开

数据数组,指定为数据类型double或single的数字数组,逻辑数组,gpuArray对象,或dlarray.对象。X一定要饱满,不要稀疏,一定要真实,不要复杂。

例子:兰特(23)* 31日23日

数据格式,指定为字符向量或字符串标量。每个字符在FMT.必须是以下标签之一:

  • S.——空间

  • C——频道

  • B.——批观测

  • T.- 时间或序列

  • ——未指明的

你可以指定任意数量S.标签。其中,最多可以指定其中一个CB.,T.标签。

每个元素FMT.标注匹配尺寸DLX..如果FMT.不是按列出的顺序('其次是“C”等等),然后dlarray.隐含地替代FMT.和匹配顺序的数据,但不更改数据的存储。

FMT.必须至少有相同数量的标签尺寸的数量DLX..如果您指定超过该标签数量,dlarray.为附加标签创建空(单例)维度。

下表指示用于常见数据类型的推荐数据格式。

数据 例子
形状 数据格式
2-D图像

H——- - - - - -W.——- - - - - -C——- - - - - -N数字数组,HW.CN是图像的高度,宽度,频道数分别和观察数。

“SSCB”
三维图像 H——- - - - - -W.——- - - - - -D.——- - - - - -C数字数组,HW.D.CN分别为图像的高度、宽度、深度、通道数和图像观测次数。 “SSSCB”
向量序列

C——- - - - - -S.——- - - - - -N矩阵,C为序列的特征个数,S.是序列长度,和N是序列观测的次数。

“认知行为治疗”
2-D图像序列

H——- - - - - -W.——- - - - - -C——- - - - - -S.——- - - - - -N数组,HW.CN分别对应于图像的高度、宽度和通道数,S.是序列长度,和N是观测图像序列的个数。

“SSCTB”
3-D图像序列

H——- - - - - -W.——- - - - - -D.——- - - - - -C——- - - - - -S.——- - - - - -N数组,HW.D.,C对应于图像的高度,宽度,深度和数量,S.是序列长度,和N是观测图像序列的个数。

“SSSCTB”
特性 C——- - - - - -N数组,C是功能的数量,还有N是观测的数量。 “cb”

的信息FMT., 看用法

例子:“单边带”

例子:'cbuss',这dlarray.重新排列,'SSCBU'

数据向量,指定为数据类型double或single的数值向量,逻辑向量,gpuArray矢量对象,或dlarray.矢量对象。这里,“载体”是指具有恰好一个恰好的任何阵列的阵列。

例子:兰德(100 1)

尺寸标签,指定为允许的类型的单个字符FMT.

例子:“S”

例子:'

输出参数

全部展开

深度学习阵列,返回为一个dlarray.对象。DLX.使用Dlgradient.dlfeval.如果你提供FMT.参数,DLX.有标签。

  • 如果X是数字或逻辑数组,DLX.包含其数据,可能由于中有标签而重新排序FMT.

  • 如果X是一个gpuArray的数据DLX.也在GPU上。后续计算使用DLX.在图形处理器上执行。

用法

dlarray.标签使您能够使用该表中的函数来执行,以确保数据具有适当的格式。

函数 操作 验证输入维度 影响输入维度的大小
avgpool 计算输入数据在移动的矩形(或长方体)空间上的平均值(')由池大小参数定义的区域。 ' '
Batchnorm. 标准化每个通道中包含的值(“C”)的输入数据。 “C”
基于分子 计算估计和目标值之间的跨熵,平均由批次的大小(“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',或“施”.)
gru.

对输入数据应用门控循环单元计算。

'“C”'T' “C”
lstm

对输入数据应用长短的短期内存计算。

'“C”'T' “C”
maxpool 计算移动矩形空间上输入数据的最大值(')由池大小参数定义的区域。 ' '
maxunpool 计算空间上的反池操作(')维度。 ' '
均方误差 计算估计和目标值之间的半平均平方误差,平均由批次的大小(“B”)维度。 '“C”“B”'T''U'(估计数组和目标数组必须具有相同的大小。) '“C”“B”'T''U'(输出是一个未标记的标量。)
softmax 将softmax激活应用于每个通道(“C”)的输入数据。 “C”

这些函数要求每个维度都有一个标签,指定为它们的第一个标签dlarray.输入,或作为“DataFormat”包含维度标签的名称-值对参数。

dlarray.强制标签的顺序“SCBTU”.这种强制消除了操作中的二义性语义,即隐式匹配输入之间的标签。dlarray.也强制标签“C”“B”,'T'每个人都可以最多出现一次。使用这些标签的函数在每个标签的大多数维度上接受。

dlarray.提供删除标签的功能(剥离丁片),获取与标签相关的尺寸(Finddim.),并列出与a相关联的标签dlarray.昏暗)。

有关如何使用dlarray.表现与标签,看著名的dlarray行为

对象功能

avgpool 池数据到空间尺寸的平均值
Batchnorm. 独立地对每个渠道的所有观察结果正常化
基于分子 分类任务的交叉熵损耗
昏暗 维度标签dlarray.
dlconv 深入学习卷积
Dlgradient. 使用自动微分计算自定义训练循环的梯度
dltranspconv 深入学习转置卷积
extractdata 从中提取数据dlarray.
Finddim. 查找具有指定标签的尺寸
fullyconnect 对所有加权输入数据求和,并应用一个偏差
gru. 门控复发单位
leakyrelu. 应用漏泄整流线性单元活化
lstm 长时间的短期记忆
maxpool 将数据池设置为最大值
maxunpool 取消最大池操作的输出池
均方误差 半均匀的误差
线性整流函数(Rectified Linear Unit) 应用整流的线性单元激活
乙状结肠 适用SIGMOID激活
softmax 将SoftMax激活应用于通道维度
剥离丁片 去掉dlarray.标签

一种dlarray.还允许用于数字,矩阵和其他操作的功能。查看完整列表支持dlarray的函数列表金宝app

例子

全部收缩

创建一个标记dlarray.从一个矩阵。

rng默认的%的再现性X = randn(3、5);dlx = dlarray(x)
dlX = 3x5 dlarray 0.5377 0.8622 -0.4336 2.7694 0.7254 1.8339 0.3188 0.3426 -1.3499 -0.0631 -2.2588 -1.3077 3.5784 3.0349 0.7147

创建一个dlarray.具有标签的数据格式'“C”

rng默认的%的再现性X = randn(3、5);dlx = dlarray(x,“SC”
DLX = 3(S)X 5(C)Dlarray 0.5377 0.8622 -0.4336 2.7694 0.7254 1.8339 0.3188 0.3426 -1.3499 -0.0631 -13499 -0.0631 -2.2588 -1.3077 3.5784 3.0349 0.7147

如果您以相反的顺序指定标签,dlarray.隐含地重新排序底层数据。

dlx = dlarray(x,'CS'
DLX = 5(S)X 3(C)DLARRAY 0.5377 1.8339 -2.2588 0.8622 0.3188 -1.3077 -0.4336 0.3426 3.5784 2.7694 -13499 3.0349 0.7254 -0.0631 0.7147

创建一个dlarray.带有第一个标号的向量'T'.第二个标签dlarray.自动创建,是'U'

rng默认的%的再现性X = randn (6,1);dlx = dlarray(x,'T'
DLX = 6(t)x 1(u)Dlarray 0.5377 1.8339 -2.2588 0.8622 0.3188 -1.3077

如果你指定一个行向量Xdlarray.隐式地将结果重新排序为列向量。

X = X ';dlx = dlarray(x,'T'
DLX = 6(t)x 1(u)Dlarray 0.5377 1.8339 -2.2588 0.8622 0.3188 -1.3077

提示

扩展功能

在R2019B中介绍