Skip to content

Commit ed881a8

Browse files
committed
workloads/megatron_run: restrict bool sentinel to bool fields only
1 parent 99d8b28 commit ed881a8

1 file changed

Lines changed: 10 additions & 4 deletions

File tree

src/cloudai/workloads/megatron_run/megatron_run.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -80,14 +80,20 @@ def no_dashed_args(self):
8080

8181
@property
8282
def cmd_args(self) -> dict[str, Union[str, list[str]]]:
83+
# Fields with default="" are boolean flags; extra fields (model_extra) are also boolean by convention.
84+
bool_flags = {k for k, f in MegatronRunCmdArgs.model_fields.items() if f.default == ""}
85+
extra_keys = set(self.model_extra or {})
8386
args = self.model_dump(exclude_none=True, exclude={"docker_image_url", "run_script"})
8487
result: dict[str, Union[str, list[str]]] = {}
8588
for k, v in args.items():
8689
flag = f"--{k.replace('_', '-')}"
87-
if v == "false":
88-
continue
89-
elif v in ("true", ""):
90-
result[flag] = ""
90+
if k in bool_flags or k in extra_keys:
91+
if v == "false":
92+
continue
93+
elif v in ("true", ""):
94+
result[flag] = ""
95+
else:
96+
result[flag] = v
9197
else:
9298
result[flag] = v
9399
return result

0 commit comments

Comments
 (0)