parse arguments from dict (#4869)
* add parse_dict to parse arguments from dict * add unit test for parse_dict
This commit is contained in:
@@ -158,3 +158,16 @@ class HfArgumentParser(ArgumentParser):
|
||||
obj = dtype(**inputs)
|
||||
outputs.append(obj)
|
||||
return (*outputs,)
|
||||
|
||||
def parse_dict(self, args: dict) -> Tuple[DataClass, ...]:
|
||||
"""
|
||||
Alternative helper method that does not use `argparse` at all,
|
||||
instead uses a dict and populating the dataclass types.
|
||||
"""
|
||||
outputs = []
|
||||
for dtype in self.dataclass_types:
|
||||
keys = {f.name for f in dataclasses.fields(dtype)}
|
||||
inputs = {k: v for k, v in args.items() if k in keys}
|
||||
obj = dtype(**inputs)
|
||||
outputs.append(obj)
|
||||
return (*outputs,)
|
||||
|
||||
Reference in New Issue
Block a user