pytorch训练辅助工具,更加有效的训练模型。
如何统计模型的参数量与计算量
1 自带
自带的方法只能统计参数量,不能统计计算量,想要统计计算量必须手动实现。
total_parameters = sum(param.nelement() for param in model.parameters())
或者
total = sum(param.numel() for param in model.parameters())
2 编写代码
参考博客https://blog.csdn.net/qq_35407318/article/details/109359006
3 thop
需要安装thop
计算模型参数总量和模型计算量,而且会打印每一层网络的具体信息,且输入必须是四维的,为了提高
输出的可读性,还需要做后处理。
4 torchstat
使用torchstat这个库来查看网络模型的一些信息,包括总的参数量params、MAdd、显卡内存占用量
和FLOPs
5 ptflops
这里输入一定是tuple类型,且不需要输入batch,直接输入输入通道数与尺寸,如(3,128,128)
输出为网络模型的总参数量与计算量
6 torchsummary
每一层的类型,shape和参数量
模型整体的参数量
模型大小,和fp/bp一次需要的内存大小,可以用来估计最佳的batch_size
如何可视化网络模型
1 visdom