dltranspconv
深度学习转置卷积
语法
描述
转置卷积操作upsamples特征图。
请注意
这个函数卷积应用深度学习转置操作dlarray
数据。如果你想申请调换卷积内layerGraph
对象或层
数组,使用下面一层:
例子
使用转置卷积Upsample形象
卷积图像,然后使用转置卷积来调整卷积图像与原始图像相同大小。
导入数据并将其转换为一个形象dlarray
。
X = imread (“sherlock.jpg”);dlX = dlarray(单(X),SSC的);
显示图像。
imshow (X)
初始化卷积过滤器和偏见。指定一个未分组的卷积,单个过滤器适用于所有三个通道的输入数据。
filterHeight = 10;filterWidth = 10;numChannelsPerGroup = 3;numFiltersPerGroup = 1;numGroups = 1;重量=兰德(filterHeight filterWidth、numChannelsPerGroup numFiltersPerGroup, numGroups);偏见=兰德(numFiltersPerGroup * numGroups, 1);
执行卷积。使用一个“步”
的价值2
和一个“DilationFactor”
的价值2
。
海底= dlconv (dlX、权重、偏见,“步”2,“DilationFactor”3);
显示图像卷积。
Y = extractdata(海底);imshow(重新调节(Y))
初始化转置卷积过滤器和偏见。指定一个未分组的转置三个过滤器适用于输入的卷积。使用相同的滤波器高度和过滤宽度的卷积操作。
numChannelsPerGroupTC = 1;numFiltersPerGroupTC = 3;weightsTC =兰德(filterHeight filterWidth、numFiltersPerGroupTC numChannelsPerGroupTC, numGroups);biasTC =兰德(numFiltersPerGroupTC * numGroups, 1);
执行转置卷积。使用相同的步伐和扩张因素对于卷积操作。
dlZ = dltranspconv(海底,weightsTC biasTC,“步”2,“DilationFactor”3);
转置后显示图像卷积。
Z = extractdata (dlZ);imshow(重新调节(Z))
比较原始图像的大小,图像卷积,卷积转置后的图像。
sizeX大小(X) =
sizeX =1×3640 960 3
sizeY =大小(Y)
sizeY =1×2307 467
sizeZ =大小(Z)
sizeZ =1×3640 960 3
转置卷积upsamples卷积的数据大小的原始输入数据。
执行分组卷积转置
转置卷积应用于输入数据在三组,每组两个渠道。应用四个过滤器每组。
创建的输入数据作为观测十大小100 -,- 100有六个频道。
身高= 100;宽度= 100;渠道= 6;numObservations = 10;X =兰德(高度、宽度、通道numObservations);dlX = dlarray (X,“SSCB”);
初始化转置卷积操作的过滤器。指定三组转置运算,每个四个过滤器适用于输入数据的两个渠道。
filterHeight = 8;filterWidth = 8;numChannelsPerGroup = 2;numFiltersPerGroup = 4;numGroups = 3;重量=兰德(filterHeight filterWidth、numFiltersPerGroup numChannelsPerGroup, numGroups);
初始化倾向。
偏见=兰德(numFiltersPerGroup * numGroups, 1);
执行转置卷积。
海底= dltranspconv (dlX、重量偏差);大小(海底)
ans =1×4107 107年12
dim(海底)
ans = ' SSCB '
卷积的12通道输出代表转置运算的三组每组有四个过滤器。
输入参数
权重
- - - - - -过滤器
dlarray
|数字数组
过滤器,指定为一个格式化的dlarray
,一个非格式化dlarray
或数字数组。的权重
参数指定的大小和价值观过滤器,过滤器的数量以及组分组转置运算的数量。
指定权重为filterSize
——- - - - - -numFiltersPerGroup
——- - - - - -numChannelsPerGroup
——- - - - - -numGroups
数组中。
filterSize
——卷积过滤器的大小。filterSize
可以有三个维度,具体取决于输入数据的空间维度的数量。输入数据 “年代”
维filterSize
一维 h,在那里h对应于过滤器的高度 二维 h——- - - - - -w,在那里h和w对应滤波器的高度和宽度,分别 三维 h——- - - - - -w——- - - - - -d,在那里h,w,d对应的高度、宽度和深度的过滤器,分别 numFiltersPerGroup
——过滤器应用在每组的数量。numChannelsPerGroup
——数量的渠道在每组分组转置运算。numChannelsPerGroup
必须等于输入数据的通道数量除以吗numGroups
的组。未归类的隆起,numGroups = 1
,numChannelsPerGroup
通道的数量必须等于输入数据。numGroups
——数量的组(可选)。当numGroups > 1
,函数执行分组转置运算。当numGroups = 1
,函数执行未分组的转置运算;在这种情况下,这个维度是单例模式,可以省略。
如果权重
是一个格式化的dlarray
标记,它可以有多个空间维度“年代”
,一个通道尺寸标注“C”
,和其他两个尺寸标注“U”
。的数量“年代”
尺寸必须匹配的数量“年代”
维的输入数据。标签尺寸对应于过滤器规格如下。
过滤器规格 | 尺寸标签 |
---|---|
filterSize |
三“年代” 维 |
numFiltersPerGroup |
“C” 维 |
numChannelsPerGroup |
第一个“U” 维 |
numGroups (可选) |
第二个“U” 维 |
数据类型:单
|双
偏见
- - - - - -偏见常数
dlarray
向量|dlarray
标量|数值向量|数字标量
偏见常数,指定为一个格式化的或未格式化dlarray
向量或dlarray
标量、数值向量或一个数字标量。
如果
偏见
是一个标量或只有单维度,同样的偏见是用于输出的每个条目。如果
偏见
nonsingleton维度,每个元素的偏见
偏差适用于指定的相应的卷积过滤器吗权重
。元素的数量偏见
必须匹配过滤器规定的数量。
如果偏见
是一个格式化的dlarray
,nonsingleton维度必须一个通道尺寸标注“C”
。
数据类型:单
|双
名称-值参数
指定可选的逗号分隔条名称,值
参数。的名字
参数名称和吗价值
相应的价值。的名字
必须出现在引号。您可以指定几个名称和值对参数在任何顺序Name1, Value1,…,的家
。
“步”,2
每个过滤器的步幅设置为2。
DataFormat
- - - - - -维非格式化数据的顺序
特征向量|字符串标量
维度的非格式化输入数据,指定为一个特征向量或字符串标量FMT
为每个维度的数据提供一个标签。
当你指定的格式dlarray
对象,每个字符为每个维度的数据和提供一个标签必须是下列之一:
“S”
——空间“C”
——频道“B”
批处理(例如,样品和观察)“T”
时间(例如,时间序列的步骤)“U”
——未指明的
您可以指定多个维度标签“S”
或“U”
。您可以使用标签“C”
,“B”
,“T”
最多一次。
您必须指定DataFormat
当输入数据不是一个格式化的dlarray
。
数据类型:字符
|字符串
步
- - - - - -步长为遍历输入数据
1
(默认)|数字标量|数值向量
步长为遍历输入数据,指定为逗号分隔组成的“步”
和一个数字标量或数值向量。如果您指定“步”
作为一个标量,相同的值是用于所有空间维度。如果您指定“步”
作为一个相同大小的矢量空间维度的数量的输入数据,矢量值用于相应的空间维度。
的默认值“步”
是1
。
例子:“步”,3
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
DilationFactor
- - - - - -过滤器膨胀系数
1
(默认)|数字标量|数值向量
过滤器膨胀因素,指定为逗号分隔组成的“DilationFactor”
和一个以下。
数字标量——相同的膨胀系数值适用于所有空间维度。
数值向量,应用不同的膨胀系数值在每一个空间维度。使用一个向量的大小
d
,在那里d
是空间维度的数量的输入数据。的我
向量的th元素指定了应用于膨胀因素我
空间维度。
使用膨胀因素增加过滤器的接受域的面积(输入过滤器可以看到)的输入数据。使用膨胀系数对应于一个有效的过滤器的大小filterSize + (filterSize-1) * (dilationFactor-1)
。
例子:“DilationFactor”, 2
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
裁剪
- - - - - -种植应用于边缘的数据
0(默认)|“相同”
|数字标量|数值向量|数字矩阵
种植应用于边缘的数据,指定为逗号分隔组成的“种植”
和一个以下。
“相同”
——裁剪,输出大小是一样的输入大小跨步时1
。更普遍的是,输出每个空间维度的大小inputSize *步
,在那里inputSize
是输入的大小在一个空间维度。数字标量——同一种植价值应用于所有空间维度的两端。
数值向量,不同种植值是应用在每一个空间维度。使用一个向量的大小
d
,在那里d
是空间维度的数量的输入数据。的我
向量指定裁剪的应用th元素的开始和结束我
空间维度。数字矩阵——不同的种植价值应用于每一个空间维度的开始和结束。使用矩阵的大小2 -
d
,在那里d
是空间维度的数量的输入数据。的元素(d)
指定了种植用于空间维度的开始d
。的元素(2 d)
指定了种植用于空间维度的结束d
。例如,在二维的格式(前、左;下,右)
。
例子:“裁剪”、“相同”
数据类型:单
|双
输出参数
海底
——功能图
dlarray
特征地图,作为一个返回dlarray
。输出海底
有相同的底层数据类型作为输入dlX
。
如果输入数据dlX
是一个格式化的dlarray
,然后海底
有相同的格式吗dlX
。如果没有一个格式化的输入数据dlarray
,然后海底
是一个非格式化dlarray
或数字数组具有相同尺寸订单作为输入数据。
的大小“C”
通道尺寸海底
取决于的大小权重
输入。的大小“C”
维度的输出Y
产品的大小尺寸吗numFiltersPerGroup
和numGroups
在权重
论点。如果权重
是一个格式化的dlarray
,本产品是一样的大小的乘积“C”
维度和第二“U”
维度。
扩展功能
GPU数组
加速代码运行在一个图形处理单元(GPU)使用并行计算工具箱™。
使用笔记和限制:
当下列至少一个输入参数
gpuArray
或者一个dlarray
基础数据的类型gpuArray
,这个函数在GPU上运行。dlX
权重
偏见
有关更多信息,请参见运行在GPU MATLAB函数(并行计算工具箱)。
另请参阅
MATLABコマンド
次のMATLABコマンドに対応するリンクがクリックされました。
コマンドをMATLABコマンドウィンドウに入力して実行してくださ了对いweb这类ブラウザーはMATLABコマンドをサポートしていません。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。