Point Transformer v2的参数量怎么计算

代码地址:https://github.com/Pointcept/Pointcept/blob/main/pointcept/models/point_transformer_v2/point_transformer_v2m2_base.py

参数设置:
enc_depths=(2, 2, 6, 2)
enc_channels=(96, 192, 384, 512)
enc_groups=(12, 24, 48, 64)
enc_neighbours=(16, 16, 16, 16)

Block的定义:

class Block(nn.Module):
    def __init__(
        self,
        embed_channels,
        groups,
        qkv_bias=True,
        pe_multiplier=False,
        pe_bias=True,
        attn_drop_rate=0.0,
        drop_path_rate=0.0,
        enable_checkpoint=False,
    ):

设计主函数输出每一层encoder的参数量,不包含transition layer而且只有1个block:

if __name__ == '__main__':

    enc_channels=(96, 192, 384, 512)
    enc_groups=(12, 24, 48, 64)

    for i in range(4):

        model = Block(enc_channels[i], enc_groups[i])

        pytorch_total_params = sum(p.numel() for p in model.parameters() if p.requires_grad)

        print(str(i) + ": " + str(pytorch_total_params/1024.0/1024.0) + "M")

结果:

0: 0.054828643798828125M
1: 0.21540069580078125M
2: 0.8537750244140625M
3: 1.51434326171875M
  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值