首页 Paddle框架 帖子详情
动态图中什么时候应该用 add_subLayer
收藏
快速回复
Paddle框架 问答深度学习 2231 5
动态图中什么时候应该用 add_subLayer
收藏
快速回复
Paddle框架 问答深度学习 2231 5

add_sublayer这个函数是干嘛的呢?文档没有写的很清湖,不是很理解。我看 resnet 里在 init 的时候就用了,但是在 forward 的时候就没用,看着似乎没什么影响.
在 __init__里面有一段

self.bottleneck_block_list = []
num_channels = 64
for block in range(len(depth)):
    shortcut = False
    for i in range(depth[block]):
        bottleneck_block = self.add_sublayer(
            'bb_%d_%d' % (block, i),
            BottleneckBlock(
                self.full_name(),
                num_channels=num_channels,
                num_filters=num_filters[block],
                stride=2 if i == 0 and block != 0 else 1,
                shortcut=shortcut))
        num_channels = bottleneck_block._num_channels_out
        self.bottleneck_block_list.append(bottleneck_block)
        shortcut = True

但是在 forward 的时候

def forward(self, inputs):
    y = self.conv(inputs)
    y = self.pool2d_max(y)
    for bottleneck_block in self.bottleneck_block_list:
        y = bottleneck_block(y)
    y = self.pool2d_avg(y)
    y = self.out(y)
    return y
0
收藏
回复
全部评论(5)
时间顺序
AIStudio791597
#2 回复于2019-10

跟同学线下沟通已解释清楚

0
回复
Cortex_M4
#3 回复于2020-05

同样的问题可以请教一下吗

0
回复
thinc
#4 回复于2020-05
同样的问题可以请教一下吗

应该是继承了某个类的方法

0
回复
风样V男子
#5 回复于2020-05

fluid.dygraph.Layer 这里面的方法

0
回复
A
AIStudio58385
#6 回复于2020-06

我理解,这是为了把一组做好的网络作为一个整体加入到网络定义中。

0
回复
需求/bug反馈?一键提issue告诉我们
发现bug?如果您知道修复办法,欢迎提pr直接参与建设飞桨~
在@后输入用户全名并按空格结束,可艾特全站任一用户