dlconv
描述
卷积操作滑动过滤器适用于输入数据。使用dlconv
函数卷积深度学习、分组卷积和channel-wise分离卷积。
的dlconv
深度学习卷积操作适用于函数dlarray
数据。使用dlarray
更易于处理高维数据的对象允许您标签的尺寸。例如,您可以标签尺寸对应于空间,时间,频道,使用批处理维度“S”
,“T”
,“C”
,“B”
标签,分别。未指明的和其他维度,使用“U”
标签。为dlarray
对象的函数操作特定的尺寸,你可以指定尺寸标签的格式dlarray
直接对象,或通过使用DataFormat
选择。
深度学习卷积操作适用于格式化的Y
= dlconv (X
,权重
,偏见
)dlarray
对象X
。定义的函数使用滑动卷积过滤器权重
并添加常数偏见
。输出Y
是一个格式化的dlarray
对象与相同的格式X
。
这个函数,默认情况下,在三维空间的可变X
标签“S”
(空间)。在尺寸标注进行卷积“T”
(时间),指定权重
与一个“T”
使用格式化的维度dlarray
对象或使用WeightsFormat
选择。
无格式的输入数据,使用DataFormat
选择。
例子
进行二维卷积
创建一个格式化的dlarray
对象包含了一批128 28-by-28图像3通道。指定的格式“SSCB”
(空间、空间、通道、批)。
miniBatchSize = 128;inputSize = 28 [28];numChannels = 3;X =兰特(inputSize (1) inputSize (2), numChannels, miniBatchSize);X = dlarray (X,“SSCB”);
视图的大小和格式输入数据。
大小(X)
ans =1×4128年28日28日3
dim (X)
ans = ' SSCB '
初始化二维卷积的重量和偏见。对于权重,指定64 3 x3的过滤器。的偏见,指定一个零的向量。
filterSize = 3 [3];numFilters = 64;重量=兰德(filterSize (1) filterSize (2), numChannels, numFilters);偏见= 0 (1、numFilters);
应用二维卷积使用dlconv
函数。
Y = dlconv (X,重量偏差);
视图的大小和格式输出。
大小(Y)
ans =1×426日26日64 128
退去(Y)
ans = ' SSCB '
执行分组卷积
卷积输入数据在三组,每组两个渠道。应用四个过滤器每组。
创建输入数据的大小100 - 10观测- 100有六个频道。
身高= 100;宽度= 100;渠道= 6;numObservations = 10;X =兰德(高度、宽度、通道numObservations);X = dlarray (X,“SSCB”);
初始化卷积过滤器。指定三组曲线玲珑,每四个卷积过滤器适用于输入数据的两个渠道。
filterHeight = 8;filterWidth = 8;numChannelsPerGroup = 2;numFiltersPerGroup = 4;numGroups = 3;重量=兰德(filterHeight filterWidth、numChannelsPerGroup numFiltersPerGroup, numGroups);
初始化倾向。
偏见=兰德(numFiltersPerGroup * numGroups, 1);
执行卷积。
Y = dlconv (X,重量偏差);大小(Y)
ans =1×493 93年12
退去(Y)
ans = ' SSCB '
卷积的12通道输出代表旋转的三组每组有四个过滤器。
执行Channel-Wise分离卷积
单独的数据输入到渠道和对每个通道分别进行卷积。
创建输入数据作为一个观察的大小由- 64和64 - 10频道。创建数据作为非格式化dlarray
。
身高= 64;宽度= 64;numChannels = 10;X =兰德(高度、宽度、numChannels);X = dlarray (X);
初始化卷积过滤器。指定一个未分组的卷积,卷积一个适用于所有三个通道的输入数据。
filterHeight = 8;filterWidth = 8;numChannelsPerGroup = 1;numFiltersPerGroup = 1;numGroups = numChannels;重量=兰德(filterHeight filterWidth、numChannelsPerGroup numFiltersPerGroup, numGroups);
初始化倾向。
偏见=兰德(numFiltersPerGroup * numGroups, 1);
执行卷积。指定输入数据的维度标签使用DataFormat
选择。
Y = dlconv (X,重量、偏见、DataFormat =“SSC”);大小(Y)
ans =1×357 57 10
每个通道单独卷积,所以有10个通道输出。
进行一维卷积
创建一个格式化的dlarray
对象包含5特性包含128序列长度为512。指定的格式“认知行为治疗”
(通道、批量、时间)。
numChannels = 5;miniBatchSize = 128;sequenceLength = 512;X =兰德(numChannels miniBatchSize sequenceLength);X = dlarray (X,“认知行为治疗”);
初始化权重为一维卷积和偏见。对于权重,指定64过滤器,过滤器的大小3。的偏见,指定一个零的向量。
filterSize = 3;numFilters = 64;重量=兰德(filterSize numChannels numFilters);偏见= 0 (1、numFilters);
应用一维卷积使用dlconv
函数。缠绕在“T”
(时间)输入数据的维度,指定权重格式“TCU”
(时间、渠道不明)使用WeightsFormat
选择。
Y = dlconv (X,重量、偏见、WeightsFormat =“TCU”);
视图的大小和格式输出。
大小(Y)
ans =1×364 128 510
退去(Y)
ans =“认知行为治疗”
输入参数
X
- - - - - -输入数据
dlarray
|数字数组
输入数据,指定为一个格式化的dlarray
,一个非格式化dlarray
或数字数组。
如果X
是一个非格式化dlarray
或数值数组,那么您必须指定使用的格式DataFormat
选择。如果X
是一个数值数组,然后要么权重
或偏见
必须是一个dlarray
对象。
这个函数,默认情况下,在三维空间的可变X
标签“S”
(空间)。在尺寸标注进行卷积“T”
(时间),指定权重
与一个“T”
使用格式化的维度dlarray
对象或使用WeightsFormat
选择。
权重
- - - - - -卷积过滤器
dlarray
|数字数组
卷积过滤器,指定为一个格式化的dlarray
,一个非格式化dlarray
或数字数组。
权重的大小和格式取决于任务的类型。如果权重
是一个非格式化dlarray
或数值数组,然后的大小和形状权重
取决于WeightsFormat
选择。
下表描述了各种任务权重的大小和格式。您可以指定数组的维度使用格式化的任何顺序dlarray
对象或使用WeightsFormat
选择。当权重有多个具有相同标签的尺寸标记(例如,多个维度“S”
),那么这些维度必须在命令中描述这张桌子。
任务 | 所需的尺寸 | 大小 | 例子 | |
---|---|---|---|---|
权重 | 格式 | |||
一维卷积 | “S” (空间)或“T” (时间) |
过滤器的大小 |
|
“并” (未指明的空间、通道) |
“C” (通道) |
数量的渠道 | |||
“U” (不明) |
数量的过滤器 | |||
一维分组卷积 | “S” (空间)或“T” (时间) |
过滤器的大小 |
|
“SCUU” (未指明的空间通道,不明) |
“C” (通道) |
每个组的通道数 | |||
第一个“U” (不明) |
每组数量的过滤器 | |||
第二个“U” (不明) |
数量的组 | |||
二维卷积 | 第一个“S” (空间) |
过滤器的高度 |
|
“SSCU” (未指明的空间、空间、通道) |
第二个“S” (空间)或“T” (时间) |
滤波器的宽度 | |||
“C” (通道) |
数量的渠道 | |||
“U” (不明) |
数量的过滤器 | |||
二维卷积分组 | 第一个“S” (空间) |
过滤器的高度 |
|
“SSCUU” (空间、空间、通道、未指明的不明) |
第二个“S” (空间)或“T” (时间) |
滤波器的宽度 | |||
“C” (通道) |
每个组的通道数 | |||
第一个“U” (不明) |
每组数量的过滤器 | |||
第二个“U” (不明) |
数量的组 | |||
三维卷积 | 第一个“S” (空间) |
过滤器的高度 |
|
“SSSCU” (空间、空间、空间、通道、不明) |
第二个“S” (空间) |
滤波器的宽度 | |||
第三“S” (空间)或“T” (时间) |
过滤器深度 | |||
“C” (通道) |
数量的渠道 | |||
“U” (不明) |
数量的过滤器 |
channel-wise分离(也称为深度方面可分)卷积,使用分组卷积组数等于通道的数量。
提示
这个函数,默认情况下,在三维空间的可变X
标签“S”
(空间)。在尺寸标注进行卷积“T”
(时间),指定权重
与一个“T”
使用格式化的维度dlarray
对象或使用WeightsFormat
选择。
偏见
- - - - - -偏见常数
dlarray
|数值向量|数字标量
偏见常数,指定为一个格式化的dlarray
,一个非格式化dlarray
、数值向量或一个数字标量。
如果
偏见
是一个标量,然后应用于每个输出相同的偏见。如果
偏见
nonsingleton维度,然后每个元素的偏见
偏差适用于指定的相应的卷积过滤器吗权重
。元素的数量偏见
规定必须匹配过滤器的数量吗权重
。如果
偏见
是0
禁用,然后偏差项添加卷积操作期间,没有偏见。
如果偏见
是一个格式化的dlarray
,然后nonsingleton维度必须通道尺寸标签“C”
(通道)。
名称-值参数
指定可选的双参数作为Name1 = Value1,…,以=家
,在那里的名字
参数名称和吗价值
相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。
R2021a之前,用逗号来分隔每一个名称和值,并附上的名字
在报价。
例子:DilationFactor = 2
为每一个卷积过滤器设置膨胀系数2
。
DataFormat
- - - - - -维非格式化数据的顺序
特征向量|字符串标量
维度的非格式化输入数据,指定为一个特征向量或字符串标量FMT
为每个维度的数据提供一个标签。
当你指定的格式dlarray
对象,每个字符为每个维度的数据提供了一个标签,必须这些选项之一:
“S”
——空间“C”
——频道“B”
批处理(例如,样品和观察)“T”
时间(例如,时间序列的步骤)“U”
——未指明的
您可以指定多个维度标签“S”
或“U”
。您可以使用标签“C”
,“B”
,“T”
最多一次。
您必须指定DataFormat
当输入数据不是一个格式化的dlarray
。
数据类型:字符
|字符串
WeightsFormat
- - - - - -维度的权重
特征向量|字符串标量
维度的权重,指定为一个特征向量或字符串标量,它提供了一个标签为每个维度的权重。
的默认值WeightsFormat
取决于任务:
任务 | 默认的 |
---|---|
一维卷积 | “并” (未指明的空间、通道) |
一维分组卷积 | “SCUU” (未指明的空间通道,不明) |
二维卷积 | “SSCU” (未指明的空间、空间、通道) |
二维卷积分组 | “SSCUU” (空间、空间、通道、未指明的不明) |
三维卷积 | “SSSCU” (空间、空间、空间、通道、不明) |
支持的维万博1manbetx度标签组合取决于类型的卷积,有关更多信息,请参见权重
论点。
提示
这个函数,默认情况下,在三维空间的可变X
标签“S”
(空间)。在尺寸标注进行卷积“T”
(时间),指定权重
与一个“T”
使用格式化的维度dlarray
对象或使用WeightsFormat
选择。
数据类型:字符
|字符串
步
- - - - - -步长为遍历输入数据
1
(默认)|数字标量|数值向量
步长为遍历输入数据,指定为一个数值标量或数值向量。
使用相同的步长为所有卷积维度,将步指定为一个标量。为每个卷积维度来指定一个不同的值,指定的路径作为一个向量元素要求相应的标签尺寸数据格式。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
DilationFactor
- - - - - -过滤器膨胀系数
1
(默认)|数字标量|数值向量
过滤器膨胀因素,指定为指定为一个数值标量或数值向量。
使用卷积)的扩张因素维度,扩张因素指定为一个标量。卷积来指定一个不同的值为每个维度,扩张因素指定为一个向量元素命令对应尺寸标签的数据格式。
使用膨胀因素增加过滤器的接受域的面积(输入过滤器可以看到)的输入数据。使用膨胀系数对应于一个有效的过滤器的大小filterSize + (filterSize-1) * (dilationFactor-1)
。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
填充
- - - - - -大小的填充
0
(默认)|“相同”
|“因果”
|数字标量|数值向量|数字矩阵
填充应用到的大小“S”
和“T”
的格式给出的尺寸重量、指定为以下之一:
“相同”
——应用填充,这样输出尺寸大小装天花板(inputSize /步)
,在那里inputSize
的大小相应的输入维数。当步
是1
,输出是相同的大小作为输入。“因果”
——应用左填充大小(FilterSize - 1)
。*DilationFactor
。该选项支持卷积只在一个时万博1manbetx间和空间维度。当步
是1
,输出是相同的大小作为输入。非负整数
深圳
——添加填充的大小深圳
的两端“S”
或“T”
维度的格式给出的权重。向量的整数
深圳
——添加填充的大小深圳(我)
的两端我
th“S”
或“T”
维度的格式给出的权重。元素的数量深圳
必须匹配的数量吗“S”
或“T”
维度的权重。矩阵的整数
深圳
——添加填充的大小深圳(我)
和深圳(2,我)
的开始和结束我
th“S”
或“T”
维度的格式给出的权重。例如,对于二维输入,[t l;b r)
适用于填充的大小t
,b
,l
,r
顶部,底部,左,和正确的输入,分别。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|字符
|字符串
PaddingValue
- - - - - -板数据值
0(默认)|标量|“symmetric-include-edge”
|“symmetric-exclude-edge”
|“复制”
板数据值,指定为以下之一:
PaddingValue |
描述 | 例子 |
---|---|---|
标量 | 垫与指定的标量值。 |
|
“symmetric-include-edge” |
垫使用镜像的输入值,包括边缘值。 |
|
“symmetric-exclude-edge” |
垫使用镜像的输入值,排除边缘值。 |
|
“复制” |
垫使用重复的边界元素的输入 |
|
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|字符
|字符串
输出参数
更多关于
深度学习卷积
的dlconv
滑动卷积过滤器适用于输入数据的函数。的dlconv
支持函数卷积的一、万博1manbetx二、三维空间或一个时间维度。了解更多关于深学习卷积,看到的定义卷积的层在convolution2dLayer
参考页面。
扩展功能
GPU数组
加速代码运行在一个图形处理单元(GPU)使用并行计算工具箱™。
使用笔记和限制:
当下列至少一个输入参数
gpuArray
或者一个dlarray
基础数据的类型gpuArray
,这个函数在GPU上运行。X
权重
偏见
有关更多信息,请参见运行在GPU MATLAB函数(并行计算工具箱)。
版本历史
介绍了R2019b
Abrir比如
这种版本modificada德埃斯特比如。害怕Desea abrir埃斯特比如con sus modificaciones吗?
第一de MATLAB
Ha事实clic en联合国围绕此时一个埃斯特第一de MATLAB:
Ejecute el第一introduciendolo en la ventana de第一de MATLAB。洛杉矶navegadores网络没有admiten第一de MATLAB。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。