From 28ccfbfc51068a663a80764e14074df5edf2b5ba Mon Sep 17 00:00:00 2001
From: kongdeqiang <kongdeqiang960204@163.com>
Date: 星期五, 13 三月 2026 17:41:41 +0800
Subject: [PATCH] 提交

---
 funasr/train_utils/load_pretrained_model.py |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/funasr/train_utils/load_pretrained_model.py b/funasr/train_utils/load_pretrained_model.py
index 105e0bd..da2eed5 100644
--- a/funasr/train_utils/load_pretrained_model.py
+++ b/funasr/train_utils/load_pretrained_model.py
@@ -8,6 +8,7 @@
 import torch.nn
 import torch.optim
 import pdb
+import copy
 
 
 def load_pretrained_model(
@@ -35,11 +36,12 @@
     logging.info(f"ckpt: {path}")
 
     if oss_bucket is None:
-        src_state = torch.load(path, map_location=map_location)
+        ori_state = torch.load(path, map_location=map_location)
     else:
         buffer = BytesIO(oss_bucket.get_object(path).read())
-        src_state = torch.load(buffer, map_location=map_location)
+        ori_state = torch.load(buffer, map_location=map_location)
 
+    src_state = copy.deepcopy(ori_state)
     src_state = src_state["state_dict"] if "state_dict" in src_state else src_state
     src_state = src_state["model_state_dict"] if "model_state_dict" in src_state else src_state
     src_state = src_state["model"] if "model" in src_state else src_state
@@ -94,9 +96,8 @@
                 )
             else:
                 dst_state[k] = src_state[k_src]
-
         else:
-            print(f"Warning, miss key in ckpt: {k}")
+            print(f"Warning, miss key in ckpt: {k}, {path}")
 
     flag = obj.load_state_dict(dst_state, strict=True)
     logging.info(f"Loading ckpt: {path}, status: {flag}")

--
Gitblit v1.9.1