Skip to content

Commit 85fbe52

Browse files
authored
support json parameter (#8446)
1 parent 0cc8554 commit 85fbe52

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

paddlenlp/trainer/argparser.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ def _parse_dataclass_field(parser: ArgumentParser, field: dataclasses.Field):
136136
elif field.default is dataclasses.MISSING:
137137
kwargs["required"] = True
138138
else:
139-
kwargs["type"] = field.type
139+
kwargs["type"] = json.loads if field.type is dict else field.type
140140
if field.default is not dataclasses.MISSING:
141141
kwargs["default"] = field.default
142142
elif field.default_factory is not dataclasses.MISSING:
@@ -246,6 +246,8 @@ def read_json(self, json_file: str) -> list:
246246
for key, value in data.items():
247247
if isinstance(value, list):
248248
json_args.extend([f"--{key}", *[str(v) for v in value]])
249+
elif isinstance(value, dict):
250+
json_args.extend([f"--{key}", json.dumps(value)])
249251
else:
250252
json_args.extend([f"--{key}", str(value)])
251253
return json_args

0 commit comments

Comments
 (0)