padsequences
垫或截断数据序列长度相同
语法
描述
垫单元阵列中的序列XPad
= padsequences (X
,paddingDim
)X
指定的尺寸paddingDim
。函数将填充每个序列的末尾添加到最长的序列的大小相匹配X
。填充序列连接和函数返回XPad
作为一个数组。
(
此外返回一个逻辑数组代表原始序列数据的位置XPad
,面具
)= padsequences (X
,paddingDim
)XPad
,。值的位置真正的
或1
在面具
对应于原始序列数据的位置XPad
;的值假
或0
对应的值。
(___)= padsequences (
指定选项使用一个或多个名称参数除了以前的语法的输入和输出参数。例如,X
,paddingDim
,名称,值
)“PaddingValue”、“左派”
添加填充原始序列的开始。
例子
垫序列数据长度相同
垫序列数据准备培训。
加载序列数据。
s = japaneseVowelsTrainData;
预处理数据包含270观察每12序列特性。观察不同的长度7日和26日时间之间的步骤。
垫0的数据相同的长度最长的序列。该函数适用于数据的右侧。指定包含时间步的维度作为填充维度。对于这个示例,尺寸是多少2
。
sPad = padsequences (s, 2);
检查填充序列的大小。
大小(sPad)
ans =1×3270年12日26日
垫或截断双方的序列数据
使用padsequences
扩展或减少每个序列的固定长度的添加或删除数据序列的两端,这取决于原始序列的长度。
加载序列数据。
s = japaneseVowelsTrainData;
预处理数据包含270观察每12序列特性。观察不同的长度7日和26日时间之间的步骤。
处理数据,以便每个序列就是14的时间步骤。较短的序列,需要填充,需要更长时间序列截断。垫或在双方的数据截断。填充序列,应用对称的填充,这样的价值观是镜子反射的原始序列值。
(sPad,面具)= padsequences (s, 2,“长度”14岁的“方向”,“两个”,“PaddingValue”,“对称”);
比较一些填充序列与原序列。每个观察包含12特征提取单一特征比较。
提取74的第一个特征观察。这比14时间较短的步骤序列。
:{74}(1)
ans =1×90.6691 0.5291 0.3820 0.3107 0.2546 0.1942 0.0931 -0.0179 -0.1081
sPad (1: 74)
ans =1×140.5291 0.6691 0.6691 0.5291 0.3820 0.3107 0.2546 0.1942 0.0931 -0.0179 -0.1081 -0.1081 -0.0179 0.0931
面具(1:74)
ans =1×14逻辑数组0 0 1 1 1 1 1 1 1 1 1 0 0 0
函数中心序列和垫两端通过反射值序列的末端。面具显示了原始序列值的位置。
提取28日的第一个特征观察。这个序列比14时间步长。
{28}(1:)
ans =1×161.1178 1.0772 1.2365 1.4858 1.6191 1.4893 1.2791 1.4692 1.5592 1.5112 1.5144 1.5871 1.4848 1.2978 1.1336 1.0280
sPad (1: 28)
ans =1×141.0772 1.2365 1.4858 1.6191 1.4893 1.2791 1.4692 1.5592 1.5112 1.5144 1.5871 1.4848 1.2978 1.1336
面具(1:28)
ans =1×14逻辑数组1 1 1 1 1 1 1 1 1 1 1 1 1 1
函数中心序列和两端截断。面具显示所有数据在生成的序列是原始序列的一部分。
垫Mini-Batches序列的自定义训练循环
使用padsequences
函数与minibatchqueue
准备和预处理序列数据准备培训使用自定义循环。
人类活动的例子使用识别训练数据。传感器数据的数据包含六个时间序列来自智能手机戴在身体。每个序列有三个特性和不同长度。这三个特征对应于加速度计读数在三个不同的方向。
加载训练数据。结合成一个单一的数据存储数据和标签。
s =负载(“HumanActivityTrain.mat”);dsXTrain = arrayDatastore (s.XTrain,“OutputType”,“相同”);dsYTrain = arrayDatastore (s.YTrain,“OutputType”,“相同”);dsTrain =结合(dsXTrain dsYTrain);
使用minibatchqueue
处理mini-batches序列数据。定义一个自定义mini-batch预处理功能preprocessMiniBatch
(在这个例子中定义)垫序列数据和标签,标签和一个炎热的编码序列。也返回的面具填充数据,指定三个输出变量minibatchqueue
对象。
miniBatchSize = 2;兆贝可= minibatchqueue (dsTrain 3…“MiniBatchSize”miniBatchSize,…“MiniBatchFcn”,@preprocessMiniBatch);
检查mini-batches的大小。
[X, Y,面具]=下一个(兆贝可);大小(X)
ans =1×33 64480年2
大小(面具)
ans =1×33 64480年2
每个mini-batch有两个观察。函数垫大小相同的序列作为mini-batch最长的序列。面具是相同的大小随着填充序列,并显示原始数据值填充的位置序列数据。
大小(Y)
ans =1×35 64480年2
填充标签是一个炎热的编码成数字数据准备培训。
函数(xPad yPad,面具)= preprocessMiniBatch (X, Y) [xPad、面具]= padsequences (X, 2);yPad = padsequences (Y, 2);yPad = onehotencode (yPad, 1);结束
输入参数
X
- - - - - -序列来垫
细胞向量
序列垫,指定为一个细胞向量的数值或分类数组。
数据类型:细胞
paddingDim
- - - - - -维度以及垫
正整数
维板输入序列数据,指定为一个正整数。
例子:2
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
名称-值参数
指定可选的双参数作为Name1 = Value1,…,以=家
,在那里的名字
参数名称和吗价值
相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。
R2021a之前,用逗号来分隔每一个名称和值,并附上的名字
在报价。
例子:padsequences (X,“长度”,“最短”,“方向”、“两”)
对序列两端,截断匹配输入序列的长度最短。
长度
- - - - - -填充序列的长度
“最长”
(默认)|“最短”
|正整数
填充序列的长度,指定为以下之一:
“最长”
——垫每个输入序列相同的长度最长的输入序列。“最短”
——截断每个输入序列相同的长度最短的输入序列。正整数——垫或截断每个输入序列指定的长度。
例子:padsequences (X,“长度”,“最短”)
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|字符
|字符串
方向
- - - - - -填充方向或截断
“对”
(默认)|“左”
|“两个”
填充方向或截断,指定为以下之一:
“对”
——垫或截断在每个原始序列。“左”
——垫或截断在每个原始序列的开始。“两个”
——垫或截断在每个原始序列的开始和结束。一半所需的填充或截断应用于两端的序列。
例子:padsequences (X,“方向”、“两”)
数据类型:字符
|字符串
PaddingValue
- - - - - -输入值用来垫
“汽车”
(默认)|“对称”
|数字标量|绝对标量
值用来垫输入,指定为以下之一:
“汽车”
——确定增值自动根据输入的数据类型序列。数字序列填充0
。分类序列填充<定义>
。“对称”
——垫每个序列的镜面反射本身。数字标量-垫每个序列指定的数值。
绝对标量-垫每个序列指定的绝对价值。
例子:padsequences (X,“PaddingValue”、“对称”)
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|分类
UniformOutput
- - - - - -国旗返回的数据作为统一的数组
真正的
或1
(默认)|假
或0
国旗返回的数据作为一个统一的数组,指定为一个数字或逻辑1
(真正的
)或0
(假
)。当你设置值0
,XPad
作为一个细胞返回向量具有相同的大小和底层数据类型作为输入X
。
例子:padsequences (X, UniformOutput, 0)
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|逻辑
输出参数
XPad
——填充序列数据
数值数组| |直言数组单元向量
序列数据进行填充,作为数字数组,返回分类数组,或一个细胞向量的数值或分类数组。
如果你设置UniformOutput
名称选择真正的
或1
,功能连接填充序列在过去的维度。最后的尺寸XPad
有相同的大小在输入序列的数量吗X
。XPad
是一个数组,N
+1
维度,N
是序列数组的维度的数量吗X
。XPad
具有相同的数据类型的数组输入X
。
如果你设置UniformOutput
名称选择假
或0
,该函数返回的序列作为一个单元向量具有相同的大小和底层数据类型作为输入X
。
面具
——原始序列数据的位置
逻辑阵列|细胞向量
原始序列数据填充序列的位置,作为一个逻辑返回数组或作为细胞载体的逻辑数组。
面具
有相同的大小和数据类型XPad
。的值1
在面具
对应于原始序列值的位置XPad
。的值0
对应的值。
使用面具
排除填充值损失计算使用“面具”
名称-值选项crossentropy
函数。
版本历史
Apri esempio
如果dispone di una versione modificata di questo esempio。Desideri aprire questo esempio con le modifiche星期二吗?
第一MATLAB
海脂肪clic苏联合国collegamento切corrisponde questo第一MATLAB:
Esegui il第一inserendolo所以nella隙缝di第一MATLAB。我浏览器web非supportano金宝app comandi MATLAB。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。