From 6e69d784e4814c3dbe35e8f70c6cf4b920c8b20b Mon Sep 17 00:00:00 2001
From: 天地 <tiandiweizun@gmail.com>
Date: 星期三, 19 三月 2025 23:10:13 +0800
Subject: [PATCH] 1. bug fix:list(mean)和list(var),由于mean和var是numpy,导致写入到文件的格式错误,参考上面的话,大概率是list(mean.tolist()),其实外层list没有必要 (#2437)

---
 funasr/train_utils/model_summary.py |   16 ++++++++++++----
 1 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/funasr/train_utils/model_summary.py b/funasr/train_utils/model_summary.py
index 4e92a33..842cd21 100644
--- a/funasr/train_utils/model_summary.py
+++ b/funasr/train_utils/model_summary.py
@@ -47,10 +47,18 @@
 def model_summary(model: torch.nn.Module) -> str:
     message = "Model structure:\n"
     message += str(model)
-    # for p in model.parameters():
-    #     print(f"{p.numel()}")
-    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)

--
Gitblit v1.9.1