Skip to content

Commit 96f5722

Browse files
committed
Add values natural order check to layers grouped validation
1 parent 88a7479 commit 96f5722

1 file changed

Lines changed: 9 additions & 1 deletion

File tree

fastdeploy/model_executor/load_weight_utils.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,11 @@ def layers_are_grouped(keys):
7272
return True
7373

7474

75+
def values_are_naturally_ordered(values):
76+
"""Check if values are sorted in natural order."""
77+
return list(values) == sorted(values, key=natural_key)
78+
79+
7580
def pdparams_weight_iterator(paddle_file_list: list[str]):
7681
for pdparams_file in tqdm(
7782
paddle_file_list,
@@ -532,7 +537,10 @@ def get_all_weights_file(model_path: str):
532537
with index_file.open("r") as f:
533538
weight_map = json.load(f)["weight_map"]
534539
keys = list(weight_map.keys())
535-
is_layers_are_grouped = layers_are_grouped(keys)
540+
values = list(weight_map.values())
541+
is_keys_orders = layers_are_grouped(keys)
542+
is_values_naturally_ordered = values_are_naturally_ordered(values)
543+
is_layers_are_grouped = is_keys_orders and is_values_naturally_ordered
536544
ordered_weight_map = {
537545
key: str(model_path / weight_map[key]) for key in sorted(weight_map.keys(), key=natural_key)
538546
}

0 commit comments

Comments
 (0)