diff --git a/src/transformers/tokenization_utils_base.py b/src/transformers/tokenization_utils_base.py index 116fbfdf7bbb..6e10733a2d40 100644 --- a/src/transformers/tokenization_utils_base.py +++ b/src/transformers/tokenization_utils_base.py @@ -2285,11 +2285,14 @@ def _from_pretrained( # We keep this new value and ignore the one stored in the special_tokens_map_file continue if isinstance(value, dict): - value = AddedToken(**value, special=True) + value["special"] = True + value = AddedToken(**value) elif key == "additional_special_tokens" and isinstance(value, list): additional_special_tokens = init_kwargs.pop("additional_special_tokens", []) or [] for token in value: - token = AddedToken(**token, special=True) if isinstance(token, dict) else token + if isinstance(token, dict): + token["special"] = True + token = AddedToken(**token) if token not in additional_special_tokens: additional_special_tokens.append(token) value = additional_special_tokens