dltranspconv
深度学习转置卷积
语法
描述
转置卷积操作upsamples特征图。
的dltranspconv
深度学习转置卷积操作适用于函数dlarray
数据。使用dlarray
更易于处理高维数据的对象允许您标签的尺寸。例如,您可以标签尺寸对应于空间,时间,频道,使用批处理维度“S”
,“T”
,“C”
,“B”
标签,分别。未指明的和其他维度,使用“U”
标签。为dlarray
对象的函数操作特定的尺寸,你可以指定尺寸标签的格式dlarray
直接对象,或通过使用DataFormat
选择。
请注意
这个函数卷积应用深度学习转置操作dlarray
数据。如果你想申请调换卷积内layerGraph
对象或层
数组,使用下面一层:
深度学习转置卷积计算的输入Y
= dltranspconv (X
,权重
,偏见
)X
使用定义的过滤器权重
,并添加常数偏见
。输入X
必须是一个格式化的dlarray
。输出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), numFilters, numChannels);偏见= 0 (1、numFilters);
应用二维卷积调换使用dltranspconv
函数。
Y = dltranspconv (X,重量偏差);
视图的大小和格式输出。
大小(Y)
ans =1×430 64 128
退去(Y)
ans = ' SSCB '
执行分组卷积转置
创建一个格式化的dlarray
对象包含了一批128 28-by-28图像16频道。指定的格式“SSCB”
(空间、空间、通道、批)。
miniBatchSize = 128;inputSize = 28 [28];numChannels = 16;X =兰特(inputSize (1) inputSize (2), numChannels, miniBatchSize);X = dlarray (X,“SSCB”);
视图的大小和格式输入数据。
大小(X)
ans =1×4128年28日28日16
dim (X)
ans = ' SSCB '
初始化二维转置分组卷积的重量和偏见。对于权重,指定两组64 3 x3的过滤器。的偏见,指定一个零的向量。
通道的数量每组是由通道的输入数据的数量除以组的数量。的大小偏差向量的数量每组的数量乘以组过滤器。
filterSize = 3 [3];numFiltersPerGroup = 64;numGroups = 2;numChannelsPerGroup = numChannels / numGroups;重量=兰德(filterSize (1) filterSize (2), numFiltersPerGroup, numChannelsPerGroup, numGroups);偏见= 0 (1,numFiltersPerGroup * numGroups);
应用二维卷积分组调换使用dltranspconv
函数。
Y = dltranspconv (X,重量偏差);
视图的大小和格式输出。
大小(Y)
ans =1×430 128 128
退去(Y)
ans = ' SSCB '
输入参数
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” (不明) |
数量的过滤器 |
提示
这个函数,默认情况下,在三维空间的可变X
标签“S”
(空间)。在尺寸标注进行卷积“T”
(时间),指定权重
与一个“T”
使用格式化的维度dlarray
对象或使用WeightsFormat
选择。
偏见
- - - - - -偏见常数
dlarray
向量|dlarray
标量|数值向量|数字标量
偏见常数,指定为一个格式化的或未格式化dlarray
向量或dlarray
标量、数值向量或一个数字标量。
如果
偏见
是一个标量或只有单维度,同样的偏见是用于输出的每个条目。如果
偏见
nonsingleton维度,每个元素的偏见
偏差适用于指定的相应的卷积过滤器吗权重
。元素的数量偏见
必须匹配过滤器规定的数量。
如果偏见
是一个格式化的dlarray
,nonsingleton维度必须一个通道尺寸标注“C”
。
名称-值参数
指定可选的双参数作为Name1 = Value1,…,以=家
,在那里的名字
参数名称和吗价值
相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。
R2021a之前,用逗号来分隔每一个名称和值,并附上的名字
在报价。
例子:步= 2
每个过滤器的步幅设置为2。
DataFormat
- - - - - -维非格式化数据的顺序
特征向量|字符串标量
维度的非格式化输入数据,指定为一个特征向量或字符串标量FMT
为每个维度的数据提供一个标签。
当你指定的格式dlarray
对象,每个字符为每个维度的数据和提供一个标签必须是下列之一:
“S”
——空间“C”
——频道“B”
批处理(例如,样品和观察)“T”
时间(例如,时间序列的步骤)“U”
——未指明的
您可以指定多个维度标签“S”
或“U”
。您可以使用标签“C”
,“B”
,“T”
最多一次。
您必须指定DataFormat
当输入数据不是一个格式化的dlarray
。
数据类型:字符
|字符串
WeightsFormat
- - - - - -维度的权重
特征向量|字符串标量
维度的权重,指定为一个特征向量或字符串标量,它提供了一个标签为每个维度的权重。
的默认值WeightsFormat
取决于任务:
任务 | 默认的 |
---|---|
一维卷积转置 | “并” (未指明的空间、通道) |
一维分组卷积转置 | “SCUU” (未指明的空间通道,不明) |
二维卷积转置 | “SSCU” (未指明的空间、空间、通道) |
二维转置分组卷积 | “SSCUU” (空间、空间、通道、未指明的不明) |
三维转置卷积 | “SSSCU” (空间、空间、空间、通道、不明) |
支持的维金宝app度标签组合取决于类型的卷积,有关更多信息,请参见权重
论点。
提示
这个函数,默认情况下,在三维空间的可变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(默认)|“相同”
|数字标量|数值向量|数字矩阵
种植应用于边缘的数据,指定为以下之一。
“相同”
——裁剪,输出大小是一样的输入大小跨步时1
。更普遍的是,输出每个空间维度的大小inputSize *步
,在那里inputSize
是输入的大小以及卷积维度。数字标量——同一种植价值应用于两端卷积的维度。
数值向量,不同种植卷积值是应用在每一个维度。使用一个向量的大小
d
,在那里d
是卷积维度的数量的输入数据。的我
向量指定裁剪的应用th元素的开始和结束我
卷积的维度。数字矩阵——不同的种植价值应用于每一个卷积维度的开始和结束。使用矩阵的大小2 -
d
,在那里d
是卷积维度的数量的输入数据。的元素(d)
指定了种植用于卷积维度的开始d
。的元素(2 d)
指定了种植应用卷积的维度d
。例如,在二维的格式(前、左;下,右)
。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
输出参数
Y
——功能图
dlarray
特征地图,作为一个返回dlarray
。输出Y
有相同的底层数据类型作为输入X
。
如果输入数据X
是一个格式化的dlarray
,然后Y
有相同的格式吗X
。如果没有一个格式化的输入数据dlarray
,然后Y
是一个非格式化dlarray
或数字数组具有相同尺寸订单作为输入数据。
的大小“C”
(频道)的维度Y
取决于的大小权重
输入。的大小“C”
(频道)的输出Y
产品的大小尺寸吗numFiltersPerGroup
和numGroups
在权重
论点。如果权重
是一个格式化的dlarray
,本产品是一样的大小的乘积“C”
(频道)维度和第二个“U”
(不明)维度。
算法
转置卷积
的标准卷积操作downsamples输入采用滑动卷积过滤器的输入。通过压扁的输入和输出,可以表达卷积操作 卷积矩阵C和偏见向量B可以来源于层重量和偏见。
类似地,转置卷积操作upsamples输入采用滑动卷积过滤器的输入。upsample输入而不是使用滑动过滤器,将采样输入的层在每条边的大小与填充相应的滤波器边缘大小- 1。
通过输入和输出压平,相当于转置卷积操作 ,在那里C和B表示卷积矩阵和标准偏差向量卷积来源于层重量和偏见,分别。这个操作相当于标准卷积的反向功能层。
扩展功能
GPU数组
加速代码运行在一个图形处理单元(GPU)使用并行计算工具箱™。
使用笔记和限制:
当下列至少一个输入参数
gpuArray
或者一个dlarray
基础数据的类型gpuArray
,这个函数在GPU上运行。X
权重
偏见
有关更多信息,请参见运行在GPU MATLAB函数(并行计算工具箱)。
版本历史
介绍了R2019b
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。