主要内容

maxpool.

池数据到最大值

描述

最大池操作通过将输入划分为池塘区域并计算每个区域的最大值来执行下采样。

maxpool.功能将最大池操作应用于dlarray.数据。使用dlarray.通过允许您标记尺寸,对象使高维数据更容易。例如,您可以使用使用的标记对应于空间,时间,频道和批处理尺寸的维度标记''T''c',和'B'标签分别。对于未指定的和其他尺寸,使用'U'标签。对于dlarray.通过特定尺寸运行的对象功能,可以通过格式化维度标签来指定维度标签dlarray.直接对象,或使用'datomformat'选项。

注意

在a中申请最大池分层图对象或者数组,使用以下图层之一:

示例

d= maxpool(DLX.池化将最大池操作应用于格式化dlarray.对象DLX.。该功能通过将其划分为所定义的区域来缩小输入池化并计算每个区域中数据的最大值。输出d是一个格式化的dlarray.具有相同的维度标签DLX.

默认情况下,函数最多三个维度DLX.标记为'(空间)。在标记的尺寸上汇集'T'(时间),指定一个带有a的池区域'T'尺寸使用'poolformat'选项。

对于未格式化的输入数据,请使用'datomformat'选项。

[dindx.输入] = maxpool(DLX.池化另外还返回每个池区域内的最大值的线性指标和输入特征映射的大小DLX.与之使用maxunpool.功能。

示例

d= maxpool(DLX.,'全球')通过输入的空间尺寸计算全局最大值DLX.。此语法相当于设置池化在以前的语法中的大小'尺寸DLX.

___= maxpool(___,'datomformat',fmt)将最大池操作应用于未格式化的操作dlarray.对象DLX.格式指定FMT.使用以前的任何语法。输出d是一个无格式化的人dlarray.具有尺寸的对象与相同的顺序DLX.。例如,'dataformat','sscb'指定具有格式的2-D最大池的数据'SSCB'(空间,空间,频道,批量)。

示例

___= maxpool(___名称,价值使用一个或多个名称值对参数指定选项。例如,'poolformat','t'指定具有格式的1-D池的池池区域'T'(时间)。

例子

崩溃

创建格式化dlarray.包含具有3个通道的批次128个28-×28图像的对象。指定格式'SSCB'(空间,空间,频道,批量)。

minibatchsize = 128;输入= [28 28];numchannels = 3;x = rand(输入(1),输入(2),NumChannels,Minibatchsize);dlx = dlarray(x,'SSCB');

查看输入数据的大小和格式。

尺寸(DLX)
ans =.1×428 28 3 128
昏暗(DLX)
ans ='sscb'

使用2×2池窗口使用2-D最大池使用maxpool.功能。

poolsize = [2 2];dly = maxpool(dlx,poolsize);

查看输出的大小和格式。

尺寸(dly)
ans =.1×427 27 3 128
昏暗(dly)
ans ='sscb'

创建格式化dlarray.包含具有3个通道的批次128个28-×28图像的对象。指定格式'SSCB'(空间,空间,频道,批量)。

minibatchsize = 128;输入= [28 28];numchannels = 3;x = rand(输入(1),输入(2),NumChannels,Minibatchsize);dlx = dlarray(x,'SSCB');

查看输入数据的大小和格式。

尺寸(DLX)
ans =.1×428 28 3 128
昏暗(DLX)
ans ='sscb'

使用2-D全球最大汇集使用maxpool.通过指定的功能'全球'选项。

dly = maxpool(dlx,'全球');

查看输出的大小和格式。

尺寸(dly)
ans =.1×41 1 3 128
昏暗(dly)
ans ='sscb'

创建格式化dlarray.包含具有12个通道的长度100的批次128个序列的对象。指定格式'CBT'(通道,批次,时间)。

minibatchsize = 128;sequencelength = 100;numchannels = 12;x = rand(NumChannels,小型匹配,序列);dlx = dlarray(x,'CBT');

查看输入数据的大小和格式。

尺寸(DLX)
ans =.1×312 128 100.
昏暗(DLX)
ans ='cbt'

使用尺寸2的泳池区域涂抹1-D最大汇集,使用2maxpool.通过指定的功能'poolformat''走吧'选项。

poolsize = 2;dly = maxpool(dlx,poolsize,'poolformat''T''走吧',2);

查看输出的大小和格式。

尺寸(dly)
ans =.1×312 128 50.
昏暗(dly)
ans ='cbt'

创建格式化dlarray.包含具有3个通道的批次128个28-×28图像的对象。指定格式'SSCB'(空间,空间,频道,批量)。

minibatchsize = 128;输入= [28 28];numchannels = 3;x = rand(输入(1),输入(2),NumChannels,Minibatchsize);dlx = dlarray(x,'SSCB');

查看输入数据的大小和格式。

尺寸(DLX)
ans =.1×428 28 3 128
昏暗(DLX)
ans ='sscb'

使用2的步伐将数据汇集到堆叠区域的最大值。

[DLY,INDX,DATASIZE] = MAXPOOL(DLX,2,'走吧',2);

查看池化数据的大小和格式。

尺寸(dly)
ans =.1×414 14 3 128
昏暗(dly)
ans ='sscb'

查看数据大小。

数据化
数据化=1×428 28 3 128

使用指数和数据大小取消卸载数据maxpool.操作。

dly = maxunpool(dly,Indx,数据化);

查看未加工数据的大小和格式。

尺寸(dly)
ans =.1×428 28 3 128
昏暗(dly)
ans ='sscb'

创建格式化dlarray.包含具有12个通道的长度100的批次128个序列的对象。指定格式'CBT'(通道,批次,时间)。

minibatchsize = 128;sequencelength = 100;numchannels = 12;x = rand(NumChannels,小型匹配,序列);dlx = dlarray(x,'CBT');

查看输入数据的大小和格式。

尺寸(DLX)
ans =.1×312 128 100.
昏暗(DLX)
ans ='cbt'

使用尺寸2的泳池区域涂抹1-D最大汇集,使用2maxpool.通过指定的功能'poolformat''走吧'选项。

poolsize = 2;[dly,Indx,DataSize] = MaxPool(DLX,PoolSize,'poolformat''T''走吧',2);

查看输出的大小和格式。

尺寸(dly)
ans =.1×312 128 50.
昏暗(dly)
ans ='cbt'

使用指数和数据大小取消卸载数据maxpool.操作。

dly = maxunpool(dly,Indx,数据化);

查看未加工数据的大小和格式。

尺寸(dly)
ans =.1×312 128 100.
昏暗(dly)
ans ='cbt'

输入参数

崩溃

输入数据,指定为格式或未格式化dlarray.对象。

如果DLX.是一个无格式化的人dlarray.,然后您必须使用该格式指定格式'datomformat'选项。

默认情况下,函数最多三个维度DLX.标记为'(空间)。在标记的尺寸上汇集'T'(时间),指定一个带有a的池区域'T'尺寸使用'poolformat'选项。

汇集区域的大小,指定为数字标量或数字矢量。

使用具有相同大小的边缘的池池池,指定池化作为标量。汇集区域沿着所指定的所有尺寸具有相同的大小'poolformat'

使用具有不同尺寸的边缘的池池来汇集,指定池化作为向量,在哪里Poolsize(i)是相应维度的大小'poolformat'

名称值对参数

指定可选的逗号分离对名称,价值论点。名称是参数名称和价值是相应的价值。名称必须出现在引号内。您可以以任何顺序指定多个名称和值对参数name1,value1,...,namen,valuen

示例:'stride',2指定汇集区域的步幅2

未格式化的输入数据的维度顺序,指定为逗号分隔对组成'datomformat'和一个字符矢量或标量FMT.为数据的每个维度提供标签。

在指定格式的时候dlarray.对象,每个字符为数据的每个维度提供标签,必须是以下内容之一:

  • '- 空间

  • 'c'- 频道

  • 'B'- 批次(例如,样品和观察)

  • 'T'- 时间(例如,序列的时间步长)

  • 'U'- 未指定

您可以指定标记的多个维度'或者'U'。您可以使用标签'c''B',和'T'最多一次。

您必须指定'datomformat'当输入数据不是格式化时dlarray.

示例:'dataformat','sscb'

数据类型:char|

汇集区域的尺寸顺序,指定为逗号分隔的配对组成'poolformat'以及为池区域的每个维度提供标签的字符向量或字符串标量。

默认值'poolformat'取决于任务:

任务 默认
1-D合并 '(空间)
2-D合并 'ss'(空间,空间)
3-D合并 'SSS'(空间,空间,空间)

格式必须没有'(空间)尺寸,或尽可能多的尺寸'(空间)尺寸作为输入数据。

默认情况下,函数最多三个维度DLX.标记为'(空间)。在标记的尺寸上汇集'T'(时间),指定一个带有a的池区域'T'尺寸使用'poolformat'选项。

示例:'poolformat','t'

遍历输入数据的步长,指定为包括的逗号分隔对'走吧'和数字标量或数字矢量。如果您指定'走吧'作为标量,相同的值用于所有空间尺寸。如果您指定'走吧'作为与输入数据的空间尺寸的数量相同的尺寸的矢量,矢量值用于相应的空间尺寸。

默认值'走吧'1。如果'走吧'少于池化在任何尺寸中,池池区域重叠。

步行使用该参数不支持全局池金宝app'全球'选项。

示例:'stride',3

数据类型:单身|双人间

填充的大小适用于数据边缘,指定为逗号分隔对组成'填充'和以下之一:

  • '同样'- 设置填充尺寸,使得输出大小与进度时的输入大小相同1。更一般地,每个空间维度的输出大小是CEIL(投入/迈出),在哪里输入是沿空间尺寸的输入的大小。

  • 数字标量 - 将相同量的填充应用于所有空间尺寸的两端。

  • 数值矢量 - 沿每个空间尺寸施加不同量的填充。使用大小的矢量D.,在哪里D.是输入数据的空间尺寸的数量。当载体的元素指定填充到开始的填充大小和沿着空间维度。

  • 数字矩阵 - 将不同量的填充应用于每个空间尺寸的开始和结束。使用大小矩阵2-by-D.,在哪里D.是输入数据的空间尺寸的数量。元素(1,D)指定应用于空间维度的开始的填充大小D.。元素(2,D)指定应用于空间维度末尾的填充的大小D.。例如,在2-D中,格式是[顶部,左;底部,右]

'填充'使用该参数不支持全局池金宝app'全球'选项。

示例:'填充','同样'

数据类型:单身|双人间

输出参数

崩溃

汇总数据,作为一个返回dlarray.具有与底层数据类型相同DLX.

如果输入数据DLX.是一个格式化的dlarray.那么d具有相同的格式DLX.。如果输入数据不是格式化的dlarray.那么d是一个无格式化的人dlarray.与输入数据相同的维度顺序。

每个池区域中最大值的指标,返回为adlarray.。每个价值indx.表示相应的最大值的位置d,给出作为值的线性指数DLX.

如果DLX.是一个格式化的dlarray.indx.具有与输出相同的大小和格式d

如果DLX.不是格式化的dlarray.indx.是一个无格式化的人dlarray.。在那种情况下,indx.用以下维度顺序返回:全部'尺寸,其次是'c''B',和'T'尺寸,然后是全部'U'尺寸。大小indx.匹配大小d什么时候d允许匹配先前规定的维度顺序。

用来indx.输出与之maxunpool.函数unpool的输出maxpool.

indx.使用时不支持输出金宝app'全球'选项。

输入特征映射的大小,作为数字矢量返回。

用来输入输出与之maxunpool.函数unpool的输出maxpool.

输入使用时不支持输出金宝app'全球'选项。

更多关于

崩溃

最大汇集

maxpool.功能池输入数据到最大值。有关更多信息,请参阅定义最大汇集层在这一点maxpooling2dlayer.参考页面。

兼容性考虑因素

展开所有

R2020A中的行为发生了变化

扩展能力

在R2019B中介绍