【发布时间】:2018-12-22 06:32:06
【问题描述】:
我正在研究 ResNet,我发现了一个使用加号跳过连接的实现。像下面这样
Class Net(nn.Module):
def __init__(self):
super(Net, self).__int_()
self.conv = nn.Conv2d(128,128)
def forward(self, x):
out = self.conv(x) // line 1
x = out + x // skip connection // line 2
现在我已经调试并打印了第 1 行前后的值。输出如下:
在第 1 行之后
x = [1,128,32,32]
出 = [1,128,32,32]第 2 行之后
x = [1,128,32,32] // 仍然
我的问题是它在哪里增加了价值?我是说之后
x = out + x
操作,值加到哪里了?
PS:Tensor 格式为 [batch, channel, height, width]。
【问题讨论】:
-
嗨!你能改进一下这个问题吗?即你真正想知道什么?为什么加法在这里有效?当然,如果 out 是 0 张量,x 的值可以保持不变。但是,您的张量看起来很奇怪。你不确定你的意思是张量的大小吗?
-
这看起来像张量的大小而不是张量
-
"这看起来像张量的大小而不是张量!!"能详细点吗?
标签: neural-network deep-learning pytorch tensor resnet