基本方法
python
复制代码
print(model)
print(type(model))
# 模型参数
numEl_list = [p.numel() for p in model.parameters()]
total_params_mb = sum(numEl_list) / 1e6
print(f'Total parameters: {total_params_mb:.2f} MB')
# sum(numEl_list), numEl_list
print(sum(numEl_list))
print(numEl_list)
python
复制代码
# 查看模型参数的基本方法
def get_param_count(model):
return sum(p.numel() for p in model.parameters() if p.requires_grad)
param_count = get_param_count(model)
print(f"Model Parameter Count: {param_count}")
# 计算每层参数量和大小
def print_layer_params_count(model):
for name, param in model.named_parameters():
if param.requires_grad:
print(f"{name} : {param.numel()}")
print(f"{name} : {param.shape}")
print_layer_params_count(model)
使用Pytorch中的torchsummary包
python
复制代码
from torchsummary import summary
summary(model, input_size=(1, 1, 128, 128, 32))
使用第三方库torchinfo
python
复制代码
from torchinfo import summary
summary(model, input_size=(1, 1, 128, 128, 32))