From a45b5d7c0fedbb1549978d694917b68089ef647a Mon Sep 17 00:00:00 2001 From: st81 Date: Mon, 28 Jul 2025 22:43:25 +0900 Subject: [PATCH] Fix HfArgumentParser to filter out dict types from Union --- src/transformers/hf_argparser.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/transformers/hf_argparser.py b/src/transformers/hf_argparser.py index e6d92d2baa8f..38369d0ae6ef 100644 --- a/src/transformers/hf_argparser.py +++ b/src/transformers/hf_argparser.py @@ -175,6 +175,9 @@ def _parse_dataclass_field(parser: ArgumentParser, field: dataclasses.Field): " the argument parser only supports one type per argument." f" Problem encountered in field '{field.name}'." ) + # filter `dict` in Union because argparse does not support it + if dict in field.type.__args__: + field.type = Union[tuple(arg for arg in field.type.__args__ if arg is not dict)] if type(None) not in field.type.__args__: # filter `str` in Union field.type = field.type.__args__[0] if field.type.__args__[1] is str else field.type.__args__[1]