pytorch计算模型的参数量及FLOPs

方法一:使用thop包的profile方法

import torch
from thop import profile
from torchvision import models
model = models.resnet50(pretrained=False)
img = torch.zeros((1, 3, image_height, image_width))
flops, params = profile(model, inputs=(img,), verbose=False)

resnet50的输出结果

thop result  Params: 25.56M, Gflops: 4111514624.00

方法二:使用torchsummaryX的summary方法

import torch
from torchsummaryX import summary
from torchvision import models
model = models.resnet50(pretrained=False)
img = torch.zeros((1, 3, stride, stride), device=next(model.parameters()).device)
summary(model,img)

使用summary会输出三项:

  1. 每一层的参数的维度及数据尺寸,
  2. 每层的参数量及计算量
  3. 模型总的参数量及计算量
    pytorch计算模型的参数量及FLOPs_第1张图片
    pytorch计算模型的参数量及FLOPs_第2张图片
    pytorch计算模型的参数量及FLOPs_第3张图片
    使用两种方式计算的参数量和计算量有一点区别

你可能感兴趣的:(#,Pytorch,pytorch,深度学习,模型参数量,模型计算量)