From 621b6b8ecfd439a401dd4b84521b86dfcd8b5ac6 Mon Sep 17 00:00:00 2001 From: Harry Mellor <19981378+hmellor@users.noreply.github.com> Date: Fri, 27 Mar 2026 14:22:33 +0100 Subject: [PATCH] Allow advanced users to override `model_type` in `AutoConfig.from_pretrained` Signed-off-by: Harry Mellor <19981378+hmellor@users.noreply.github.com> --- src/transformers/configuration_utils.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/transformers/configuration_utils.py b/src/transformers/configuration_utils.py index afcae7ddd75c..9e28b2287e81 100755 --- a/src/transformers/configuration_utils.py +++ b/src/transformers/configuration_utils.py @@ -760,6 +760,15 @@ def _get_config_dict( if "model_type" not in config_dict and is_timm_config_dict(config_dict): config_dict["model_type"] = "timm_wrapper" + # Some checkpoints may contain the wrong model_type in the config file. + # Allow the user to override it but warn them that it might not work. + if "model_type" in kwargs and config_dict["model_type"] != kwargs["model_type"]: + logger.warning( + f"{configuration_file} has 'model_type={config_dict['model_type']}' but you overrode " + f"it with 'model_type={kwargs['model_type']}'. This may lead to unexpected behavior." + ) + config_dict["model_type"] = kwargs["model_type"] + return config_dict, kwargs @classmethod