Compare commits

...

2 Commits

Author SHA1 Message Date
100apps 174c0fec7f
Merge ebf36783b8 into bdee223036 2026-05-05 21:47:08 +08:00
100apps ebf36783b8 fix(eval_toolcall): 修复模型路径解析与加载问题
- 新增_resolve_path函数以支持绝对路径和相对路径解析
- 在init_model中改用_resolve_path处理load_from和save_dir路径
- 修正模型权重文件路径拼接方式,避免路径错误
- 保证模型加载时使用绝对路径,提高加载稳定性
- 使代码结构更清晰,增强路径处理的健壮性
2026-05-05 21:34:10 +08:00
1 changed files with 15 additions and 3 deletions

View File

@ -54,15 +54,27 @@ TEST_CASES = [
]
def _resolve_path(path):
if os.path.isabs(path):
return path
abs_path = os.path.abspath(path)
if os.path.isdir(abs_path):
return abs_path
script_dir = os.path.dirname(os.path.abspath(__file__))
return os.path.abspath(os.path.join(script_dir, path))
def init_model(args):
tokenizer = AutoTokenizer.from_pretrained(args.load_from)
load_path = _resolve_path(args.load_from)
tokenizer = AutoTokenizer.from_pretrained(load_path)
if 'model' in args.load_from:
model = MiniMindForCausalLM(MiniMindConfig(hidden_size=args.hidden_size, num_hidden_layers=args.num_hidden_layers, use_moe=bool(args.use_moe)))
moe_suffix = '_moe' if args.use_moe else ''
ckp = f'./{args.save_dir}/{args.weight}_{args.hidden_size}{moe_suffix}.pth'
save_dir = _resolve_path(args.save_dir)
ckp = os.path.join(save_dir, f'{args.weight}_{args.hidden_size}{moe_suffix}.pth')
model.load_state_dict(torch.load(ckp, map_location=args.device), strict=True)
else:
model = AutoModelForCausalLM.from_pretrained(args.load_from, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(load_path, trust_remote_code=True)
get_model_params(model, model.config)
return model.half().eval().to(args.device), tokenizer