From 7de4b9ecd646f88783072c4457b227206ff33dbe Mon Sep 17 00:00:00 2001 From: yuyu5333 <1812107659@qq.com> Date: Thu, 6 Nov 2025 19:03:18 +0800 Subject: [PATCH] fix: Loading LoRA parameters which saved from multi-card training --- .gitignore | 1 + model/model_lora.py | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index aee52b1..aba6ee4 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ model/__pycache__ +trainer/__pycache__ out website/ docs-minimind/ \ No newline at end of file diff --git a/model/model_lora.py b/model/model_lora.py index b7c1d4c..f79fe66 100644 --- a/model/model_lora.py +++ b/model/model_lora.py @@ -34,9 +34,11 @@ def apply_lora(model, rank=8): def load_lora(model, path): state_dict = torch.load(path, map_location=model.device) + # 去除权重键名中可能存在的 module. 前缀 + cleaned_state_dict = {k.replace('module.', ''): v for k, v in state_dict.items()} for name, module in model.named_modules(): if hasattr(module, 'lora'): - lora_state = {k.replace(f'{name}.lora.', ''): v for k, v in state_dict.items() if f'{name}.lora.' in k} + lora_state = {k.replace(f'{name}.lora.', ''): v for k, v in cleaned_state_dict.items() if f'{name}.lora.' in k} module.lora.load_state_dict(lora_state)