pytorch中的 2D 卷积层 和 2D 反卷积层 函数分别如下:
class torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride=1, padding=0, groups=1, bias=True)
class torch.nn.ConvTranspose2d(in_channels, out_channels, kernel_size, stride=1, padding=0, output_padding=0, bias=True)
我不禁有疑问:
问题1: 两个函数的参数为什么几乎一致呢?
问题2: 反卷积层中的 output_padding是什么意思呢?
问题3: 反卷积层如何计算input和output的形状关系呢?
看了中文文档后,我得不出答案,看了英文文档,才弄明白了。花费了一个下午的时间去研究这个问题,值得用此文纪录一下。
我们知道,在卷积层中,输入输出的形状关系为:
o = [ (i + 2p - k)/s ] +1 (1)
其中:
O : 为 output size
i: 为 input size
p: 为 padding size
k: 为kernel size
s: 为 stride size
[] 为下取整运算
(1) 当 S=1 时
若 s等于1,则公式(1)中的取整符号消失,o 与 i 为 一一对应 的关系。 我们有结论:
如果卷积层函数和反卷积层函数的 kernel_size, padding size参数相同(且 stride= 1),设反卷基层的输入输出形状为 i' 和 o', 卷积层的输入输出形状i和o, 则它们为 交叉对应 的关系,即:
i = o' o = i'
为回答问题3, 我们将上述关系代入公式中,即:
i' = o' + 2p - k +1
已知 i', 即可推出 o':
o' = i' - 2p + k - 1 (2)
摘两个例子:
(2) 当 S>1 时
若 S>1 , 则公式(1)中的取整符号不能消去,o 与 i 为 多对1 的关系。 效仿 S=1时的情形, 我们有结论:
如果卷积层函数和反卷积层函数的 kernel_size, padding size参数相同(且 stride>1),设反卷基层的输入输出形状为 i' 和 o', 卷积层的输入输出形状i和o,
i' = [ (o' + 2p - k)/s ] +1
已知 i', 我们可以得出 s 个 o' 解:
o'(0) = ( i' - 1) x s + k - 2p o'(1) = o'(1) + 1 o'(2) = o'(1) + 2 ... o'(s-1) = o'(1) + s-1
即:
o'(n) =o'(1) + n = ( i' - 1) x s + k - 2p + n, n = {0, 1, 2...s-1}
为了确定唯一的 o' 解, 我们用反卷积层函数中的ouput padding参数指定公式中的 n 值。这样,我们就回答了问题(2)。
摘一个简单的例子:
(3) 实验验证
给出一小段测试代码,改变各个参数值,运行比较来验证上面得出的结论,have fun~.
from torch import nn from torch.nn import init from torch.autograd import Variable dconv = nn.ConvTranspose2d(in_channels=1, out_channels= 1, kernel_size=2, stride=2, padding=1,output_padding=0, bias= False) init.constant(dconv.weight, 1) print(dconv.weight) input = Variable(torch.ones(1, 1, 2, 2)) print(input) print(dconv(input))
以上这篇PyTorch中反卷积的用法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
PyTorch,反卷积
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
- 明达年度发烧碟MasterSuperiorAudiophile2021[DSF]
- 英文DJ 《致命的温柔》24K德国HD金碟DTS 2CD[WAV+分轨][1.7G]
- 张学友1997《不老的传说》宝丽金首版 [WAV+CUE][971M]
- 张韶涵2024 《不负韶华》开盘母带[低速原抓WAV+CUE][1.1G]
- lol全球总决赛lcs三号种子是谁 S14全球总决赛lcs三号种子队伍介绍
- lol全球总决赛lck三号种子是谁 S14全球总决赛lck三号种子队伍
- 群星.2005-三里屯音乐之男孩女孩的情人节【太合麦田】【WAV+CUE】
- 崔健.2005-给你一点颜色【东西音乐】【WAV+CUE】
- 南台湾小姑娘.1998-心爱,等一下【大旗】【WAV+CUE】
- 【新世纪】群星-美丽人生(CestLaVie)(6CD)[WAV+CUE]
- ProteanQuartet-Tempusomniavincit(2024)[24-WAV]
- SirEdwardElgarconductsElgar[FLAC+CUE]
- 田震《20世纪中华歌坛名人百集珍藏版》[WAV+CUE][1G]
- BEYOND《大地》24K金蝶限量编号[低速原抓WAV+CUE][986M]
- 陈奕迅《准备中 SACD》[日本限量版] [WAV+CUE][1.2G]