Pytorch中获取模型摘要的3种方法

  在pytorch中获取模型的可训练和不可训练的参数,层名称,内核大小和数量。

  Pytorch nn.Module 类中没有提供像与Keras那样的可以计算模型中可训练和不可训练的参数的数量并显示模型摘要的方法 。所以在这篇文章中,我将总结我知道三种方法来计算Pytorch模型中可训练和不可训练的参数的数量。

  最直接的办法就是我们自己手写代码代码实现这个功能,所以这里我自己实现了一个函数,函数中为了漂亮所以引入了PrettyTable的包

  输出以参数为单位,可以看到模型中存在的每个参数的可训练参数,是不是和keras的基本一样。

  torchsummary出现的时候的目标就是为了让torch有类似keras一样的打印模型参数的功能,它非常友好并且十分简单。 当前版本为1.5.1,可以直接使用pip安装:

  在使用时,我们需要生成一个模型的输入变量,也就是模拟模型的前向传播的过程:

  — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —

  该输出将与前一个相似,但会有点混乱,因为torchsummary将每个组成的ResNet模块的信息压缩到一个摘要中,而在两个连续模块的摘要之间没有任何适当的可区分边界。

  它看起来可能与torchsummary类似。但在我看来,它是我找到这三种方法中最好的。torchinfo当前版本是1.7.0,还是可以使用pip安装:

  参数的默认值为3。并且在可视化方向上,多分支被重新的进行了组织并且以层次结构方式呈现,所以很容易区分,所以他的效果要比torchsummary好很多。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注