python查看神经网络参数大小

最近在写论文需要对比网络大小,平时可能用不到,做个笔记。

1、利用工具,torchsummary

输入安装命令:pip install torchsummary -i https://pypi.tuna.tsinghua.edu.cn/simple
加入清华镜像源快一点

import torch
from torchsummary import summary
from nets.yolo import YoloBody

if __name__ == "__main__":
    # 需要使用device来指定网络在GPU还是CPU运行
    device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
    m = YoloBody([[6, 7, 8], [3, 4, 5], [0, 1, 2]], 80, backbone = "ghostnet").to(device)
    summary(m, input_size=(3, 416, 416))

然后使用summary(model,input_size),运行即可查看网络大小。
在这里插入图片描述
但是该工具用在fasterrcnn却运行不了,自己也不知道为什么?于是自己书写代码查看网络总参数。

2、自己书写

其实就两句话 for循环读取参数,sum求和。把求和之后的网络总数打印出来即可。

from nets.yolo import YoloBody

total = sum([param.nelement() for param in YoloBody([[6, 7, 8], [3, 4, 5], [0, 1, 2]], 80, backbone = "ghostnet").parameters()])
print("Total params: %d" % total)

打印之后和用torchsummary的一样。
在这里插入图片描述

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CinzWS

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值