self.rgb_path = ResNet3dPathway(**rgb_pathway)

print(ResNet3dPathway(**rgb_pathway).lateral)

输出:True

print(ResNet3dPathway(**rgb_pathway).lateral_activate[0]==1)

输出:False

print(ResNet3dPathway(**rgb_pathway).stage_blocks)

输出:(3, 4, 6, 3)

print(len(ResNet3dPathway(**rgb_pathway).stage_blocks))

输出:4

print(ResNet3dPathway(**rgb_pathway).base_channels * 2**0)

输出:64

print(ResNet3dPathway(**rgb_pathway).block.expansion)

输出:4

 

print(ResNet3dPathway(**rgb_pathway).lateral_activate[1])

输出:0

 

if条件不成立,于是不执行下面的语句,继续回到for循环这个时候i从0变成了1

这个时候if条件发现成立

print(ResNet3dPathway(**rgb_pathway).base_channels * 2**1)

输出:128

 print(ResNet3dPathway(**rgb_pathway).lateral_activate[2])

输出:1

 print(ResNet3dPathway(**rgb_pathway).lateral_inv)

输出:False

 

 

 print(ResNet3dPathway(**rgb_pathway).lateral_connections)

输出:['layer2_lateral', 'layer3_lateral']

print(ResNet3dPathway(**rgb_pathway).lateral_activate[3])

输出:1

(layer2_lateral): ConvModule(
    (conv): Conv3d(128, 128, kernel_size=(7, 1, 1), stride=(4, 1, 1), padding=(3, 0, 0), bias=False)
  )
  (layer3_lateral): ConvModule(
    (conv): Conv3d(256, 256, kernel_size=(7, 1, 1), stride=(4, 1, 1), padding=(3, 0, 0), bias=False)
  )

经过比对发现完全参数和自己手动计算完全一致

下面这两条语句是不管执行if还是执行else,接下来都会执行下面两句

setattr(self, lateral_name, conv_module)
self.lateral_connections.append(lateral_name)

https://github.com/kennymckormick/pyskl/blob/main/pyskl/models/cnns/resnet3d_slowfast.py

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值