From d80ac2fd2df4e7fb8a28acfa512bb11472b5cc99 Mon Sep 17 00:00:00 2001
From: liugz18 <57401541+liugz18@users.noreply.github.com>
Date: 星期四, 18 七月 2024 21:34:55 +0800
Subject: [PATCH] Rename 'res' in line 514 to avoid with naming conflict with line 365
---
funasr/train_utils/model_summary.py | 26 ++++++++++++++------------
1 files changed, 14 insertions(+), 12 deletions(-)
diff --git a/funasr/train_utils/model_summary.py b/funasr/train_utils/model_summary.py
index 8d7f14f..842cd21 100644
--- a/funasr/train_utils/model_summary.py
+++ b/funasr/train_utils/model_summary.py
@@ -1,4 +1,3 @@
-import humanfriendly
import numpy as np
import torch
@@ -48,23 +47,26 @@
def model_summary(model: torch.nn.Module) -> str:
message = "Model structure:\n"
message += str(model)
- tot_params = sum(p.numel() for p in model.parameters())
- num_params = sum(p.numel() for p in model.parameters() if p.requires_grad)
+
+ tot_params, num_params = 0, 0
+ for name, param in model.named_parameters():
+ print(
+ "name: {}, dtype: {}, device: {}, trainable: {}, shape: {}, numel: {}".format(
+ name, param.dtype, param.device, param.requires_grad, param.shape, param.numel()
+ )
+ )
+ tot_params += param.numel()
+ if param.requires_grad:
+ num_params += param.numel()
+
percent_trainable = "{:.1f}".format(num_params * 100.0 / tot_params)
tot_params = get_human_readable_count(tot_params)
num_params = get_human_readable_count(num_params)
message += "\n\nModel summary:\n"
message += f" Class Name: {model.__class__.__name__}\n"
message += f" Total Number of model parameters: {tot_params}\n"
- message += (
- f" Number of trainable parameters: {num_params} ({percent_trainable}%)\n"
- )
- num_bytes = humanfriendly.format_size(
- sum(
- p.numel() * to_bytes(p.dtype) for p in model.parameters() if p.requires_grad
- )
- )
- message += f" Size: {num_bytes}\n"
+ message += f" Number of trainable parameters: {num_params} ({percent_trainable}%)\n"
+
dtype = next(iter(model.parameters())).dtype
message += f" Type: {dtype}"
return message
--
Gitblit v1.9.1