Skip to content

Commit e1c0f9a

Browse files
committed
fix(pretrained): accept case-insensitive .pretrained suffix
- parse aliases with case-insensitive suffix check\n- add dedicated InvalidPretrainedAliasError\n- extend backend test to cover uppercase suffix\n\nAuthored by OpenClaw (model: custom-chat-jinzhezeng-group/gpt-5.3-codex)
1 parent 88db878 commit e1c0f9a

2 files changed

Lines changed: 14 additions & 3 deletions

File tree

deepmd/pretrained/deep_eval.py

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,16 +25,23 @@
2525
import numpy as np
2626

2727

28+
class InvalidPretrainedAliasError(ValueError):
29+
"""Raised when a pretrained alias string is malformed."""
30+
31+
def __init__(self, model_file: str) -> None:
32+
super().__init__(f"Invalid pretrained alias: {model_file}")
33+
34+
2835
def parse_pretrained_alias(model_file: str) -> str:
2936
"""Extract model name from ``*.pretrained`` alias string."""
3037
alias = Path(model_file).name
3138
suffix = ".pretrained"
32-
if not alias.endswith(suffix):
33-
raise ValueError(f"Invalid pretrained alias: {model_file}")
39+
if not alias.lower().endswith(suffix):
40+
raise InvalidPretrainedAliasError(model_file)
3441

3542
model_name = alias[: -len(suffix)]
3643
if not model_name:
37-
raise ValueError(f"Invalid pretrained alias: {model_file}")
44+
raise InvalidPretrainedAliasError(model_file)
3845

3946
return model_name
4047

source/tests/common/test_pretrained_backend.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,10 @@ def test_parse_pretrained_alias(self) -> None:
3232
parse_pretrained_alias("DPA-3.2-5M.pretrained"),
3333
"DPA-3.2-5M",
3434
)
35+
self.assertEqual(
36+
parse_pretrained_alias("DPA-3.2-5M.PRETRAINED"),
37+
"DPA-3.2-5M",
38+
)
3539

3640
def test_parse_pretrained_alias_invalid(self) -> None:
3741
with self.assertRaises(ValueError):

0 commit comments

Comments
 (0)