FLOPs计算可能偏高:如果一个nn.Linear在模型的__init__()中定义了,但forward()中没有使用,还是会计算此Linear的FLOPs,比实际FLOPs偏高。 为了解决不能准确计算forward()过程实际FLOPs的问题,笔者基于pytorch的Symbolic Tracing写了一套FLOPs计算代码库:torch_flops。经过测试验证,torch_flops能够实现计算forward中所有运...
stat(model, (3, 244, 244)) # 统计模型的参数量和FLOPs,(3,244,244)是输入图像的size 运行结果: 如果把torchstat包中的一行程序进行一点点改动,那么这个包可以用来统计全连接神经网络的参数量和计算量。当然手动计算全连接神经网络的参数量和计算量也很快 =_= 。进入torchstat源代码之后,如下图所示,注释掉...
3 torchsummary 3.1 安装 pipinstalltorch-summary==1.4.4 3.2 使用(没有计算flops,不建议使用) importtorchsummarytorchsummary.summary(test_model,(3,640,640)) 3.3 输出 4 torchstat 4.1 安装 pip install torchstat 4.2 使用(模型不规范,版本不同都会导致报错) import torchvision.models as models from tor...
thop是推荐使用的工具,安装方法简便。使用时可能会有警告,但不妨碍正常使用。输出结果为模型参数量28.240M,每个样本的浮点运算量为36.502G。torchsummary安装简单,但不推荐使用,因为它在计算flops方面表现不佳。输出仅提供模型参数信息。torchstat的安装步骤明确,但模型处理不规范,版本差异可能导致错误。
然而,已有的FLOPs计算库如thop、ptflops、torchstat等几乎都只能支持nn.Module子类的计算,而不会计算forward()中直接写出的运算符,如torch.softmax()、tensor.exp()、+、@等,导致FLOPs计算偏低或偏高。为解决这一问题,作者基于pytorch的Symbolic Tracing写了一套FLOPs计算代码库torch_flops。经过测试...
占个坑,有时间来写 发布于 2024-03-06 05:52・IP 属地安徽 PyTorch 深度学习(Deep Learning) 写下你的评论... 打开知乎App 在「我的页」右上角打开扫一扫 其他扫码方式:微信 下载知乎App 开通机构号 无障碍模式 中国+86 其他方式登录 未注册手机验证后自动登录,注册即代表同意《知乎协议》《隐私保护指引》...