美文网首页
如何使用一行代码获取PyTorch模型的参数大小

如何使用一行代码获取PyTorch模型的参数大小

作者: CPinging | 来源:发表于2021-03-31 20:52 被阅读0次

最近完善了一个Python库,做到了使用一行命令便可以获取到DNN网络的大小情况。现在进行发布,方便研究人员使用。

一、前言

为了获取到神经网络模型的feature map以及weight的大小,我尝试了很多方法,目前最方便的方法是用summary这个库(https://github.com/Pinging-ZJU/Pytorch-Memory-Utils),然而在我们的测试下发现这个库其实存在一些漏洞,使得对非线性网络的测量不准确(多测了很多层),于是我们对该库进行了修改,并添加了一些值方便用户阅读。

二、使用方法

1 直接在服务器上调用:pip3 install DNN_printer

2 在代码中添加from DNN_printer import DNN_printer以及DNN_printer(net, (3, 32, 32),batch_size)
其中,第一个参数为net的定义,第二个(3,32,32)为输出数据的维度,第三个数据为batch size的大小。

即:

from DNN_printer import DNN_printer

batch_size = 512
def train(epoch):
    print('\nEpoch: %d' % epoch)
    net.train()
    train_loss = 0
    correct = 0
    total = 0
    // put the code here and you can get the result
    DNN_printer(net, (3, 32, 32),batch_size)
    ...
    ...

之后就可以跑代码了

三、结果

运行代码后得到如下打印:

image.png

即可以看到每一层的shape,大小(MB)以及weight的浮点数个数、大小(MB)信息。

GitHub库如下:

https://github.com/Pinging-ZJU/DNN-Printer

如果好用欢迎大家给个star!谢谢哦,这里也要感谢Peiyi的合作

相关文章

  • 如何使用一行代码获取PyTorch模型的参数大小

    最近完善了一个Python库,做到了使用一行命令便可以获取到DNN网络的大小情况。现在进行发布,方便研究人员使用。...

  • pytorch finetune模型

    pytorch finetune模型 文章主要讲述如何在pytorch上读取以往训练的模型参数,在模型的名字已经变...

  • Pytorch Tips

    保存、恢复模型参数参考:pytorch学习笔记(五):保存和加载模型 中断时保存参数 将该代码添加至save_mo...

  • pytorch 获取模型参数量

    想要简单地得到模型的参数量,在pytorch可以通过简单调用得到,还能区分所有参数和训练参数: 135,335,0...

  • AttributeError: '_IncompatibleKe

    pytorch读取权重文件后出现 代码 修改这里的模型不能用“=”来赋值,第一行代码导入模型的结构文件,下面应该直...

  • pytorch如何保存与加载训练模型

    保存网络结构及参数 只加载模型参数,网络结构从代码中创建 pytorch加载官方提供预训练模型的方法请参考博客

  • CV-字符识别模型

    Pytorch构建CNN模型 Pytorch中构建CNN模型只需要定义好模型的参数和正向传播就可以,Pytorch...

  • Pytorch: 手动修改模型参数

    在 Pytorch 框架下,如何手动修改训练的模型的参数?我们以两个模型参数加权平均为例,步骤如下:Step 1:...

  • Pytorch 之 模型的保存与调用

    介绍关于用pytorch搭建模型时,对模型进行保存以及再次调用模型参数的相关函数命令。 使用torch.save(...

  • Pytorch学习之全连接识别MNIST数字

    Pytorch之全连接识别MNIST数字 导入库 设置超参数 数据预处理方法 数据集下载及获取 模型建立 确定损失...

网友评论

      本文标题:如何使用一行代码获取PyTorch模型的参数大小

      本文链接:https://www.haomeiwen.com/subject/nnvahltx.html