主要内容

dlarray

深度学习数组为自定义训练循环

描述

深度学习数组存储数据和可选的数据格式标签定制培训循环,并使函数来计算和使用衍生品通过自动分化。

提示

对于大多数深度学习的任务,您可以使用一个pretrained网络和适应您自己的数据。为例展示如何使用转移学习再教育卷积神经网络分类一套新的图片,明白了火车深入学习网络对新图像进行分类。或者,您可以创建和培训网络从头开始使用layerGraph的对象trainNetworktrainingOptions功能。

如果trainingOptions功能不提供训练选项,你需要你的任务,你可以创建一个自定义训练循环使用自动分化。欲了解更多,请看为自定义训练循环定义深度学习网络

创建

描述

例子

dlX= dlarray (X)返回一个dlarray对象代表X。如果X是一个dlarray,dlX是一份X

例子

dlX= dlarray (X,fmt)格式的数据dlX根据数据格式和尺寸标签fmt。尺寸标签之间传输的数据深度学习帮助功能。尺寸标签上的更多信息,请参阅使用。如果X是一个格式化的dlarray,然后fmt替换现有的格式。

例子

dlX= dlarray (v,昏暗的)接受一个向量v和一个字符格式昏暗的,并返回一个列向量dlarray。的第一个维度dlX标签的尺寸昏暗的,第二个(singleton)维度的维度标签“U”

输入参数

全部展开

数据数组,指定为一个数值数据类型的数组,一个逻辑数组,gpuArray对象,或dlarray对象。X必须完整,而不是稀疏。

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

数据类型:||逻辑
复数的支持:万博1manbetx是的

数据格式,指定为字符串标量或特征向量。字符串中的每个字符必须以下维度标签之一:

  • “S”——空间

  • “C”——频道

  • “B”——批

  • “T”——时间

  • “U”——未指明的

您可以指定任意数量的“S”“U”标签。您可以指定最多的之一“C”,“B”,“T”标签。

的每个元素fmt标签匹配的输入数据的维度。如果fmt没有列出的顺序(“年代”紧随其后的是“C”等等)dlarray隐式排列两个fmt和数据匹配订单不改变数据的存储。

fmt必须至少包含相同数量的维度标签作为输入数据的维数。如果您指定超过这一数字的尺寸标签,dlarray创建空(singleton)维度的附加标签。

下表显示推荐数据格式常见的类型的数据。

数据 例子
形状 数据格式
二维图像

h——- - - - - -w——- - - - - -c——- - - - - -n数字数组,h,w,cn的高度、宽度、通道的图像,分别和数量的观察。

“SSCB”
三维图像 h——- - - - - -w——- - - - - -d——- - - - - -c——- - - - - -n数字数组,h,w,d,cn高度、宽度、深度、数量的通道的图像,分别和数字图像的观察。 “SSSCB”
向量序列

c——- - - - - -年代——- - - - - -n矩阵,c的数量的特征序列,年代是序列长度,n是观测序列的数量。

“施”
二维图像序列

h——- - - - - -w——- - - - - -c——- - - - - -年代——- - - - - -n数组,h,w,c对应的高度、宽度和通道图像的数量,分别年代是序列长度,n是图像序列的数量的观察。

“SSCTB”
三维图像序列

h——- - - - - -w——- - - - - -d——- - - - - -c——- - - - - -年代——- - - - - -n数组,h,w,d,c对应的高度、宽度、深度和通道图像的数量,分别年代是序列长度,n是图像序列的数量的观察。

“SSSCTB”
特性 c——- - - - - -n数组,c特征的数量,n是观测的数量。 “CB”

数据矢量,指定的数值向量数据类型双或单,逻辑向量,或dlarray矢量对象。在这里,“向量”是指任何与一个数组nonsingleton维度。

例子:兰德(100 1)

尺寸标签,允许的类型指定为一个字符fmt

例子:“S”

例子:“年代”

输出参数

全部展开

深度学习数组,作为一个返回dlarray对象。dlX支持自动分化使用dlgradientdlfeval。如果你提供fmt参数,dlX有标签。

  • 如果X是一个数字或逻辑数组,dlX包含它的数据,可能因为格式的数据重新排序fmt

  • 如果X是一个gpuArray的数据dlX也在GPU。后续计算使用dlX在GPU上执行。

使用

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 计算unpooling操作空间(“年代”)维度。 “年代” “年代”
均方误差 一半计算均方误差估计和目标之间的值,平均通过批量的大小(“B”)维度。 “年代”,“C”,“B”,“T”,“U”(估计和目标数组必须具有相同的大小。) “年代”,“C”,“B”,“T”,“U”(输出是一个非格式化标量)。
softmax 应用将softmax激活每个通道(“C”)的输入数据。 “C”

这些功能需要每个维度有一个标签。您可以指定尺寸标签格式提供第一个输入格式化dlarray,或者通过使用“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 Unpool最大池操作的输出
均方误差 一半的均方误差
线性整流函数(Rectified Linear Unit) 应用修正线性单元激活
乙状结肠 应用乙状结肠激活
softmax softmax激活应用于渠道维度
stripdims 删除dlarray数据格式

一个dlarray还允许函数数值矩阵,和其他操作。看到完整的列表中与dlarray支持函数的列表万博1manbetx

例子

全部折叠

创建一个非格式化dlarray从一个矩阵。

X = randn (3、5);dlX = dlarray (X)
dlX = 3 x5 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”

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 -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 -1.3499 3.0349 0.7254 -0.0631 0.7147

创建一个dlarray向量的第一个维度标签“T”。第二个维度标签,dlarray自动创建,是“U”

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

如果你指定一个行向量X,dlarray隐式重组的结果是一个列向量。

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

全部展开