Config: lower save_pretrained exception to warning (#33906)

* lower to warning

* msg

* make fixup

* rm extra comma
This commit is contained in:
Joao Gante
2024-10-03 16:45:14 +01:00
committed by GitHub
parent 15a4d24805
commit b0c5660e88
2 changed files with 9 additions and 5 deletions

View File

@@ -380,11 +380,14 @@ class PretrainedConfig(PushToHubMixin):
non_default_generation_parameters = self._get_non_default_generation_parameters()
if len(non_default_generation_parameters) > 0:
raise ValueError(
# TODO (joao): this should be an exception if the user has modified the loaded config. See #33886
warnings.warn(
"Some non-default generation parameters are set in the model config. These should go into either a) "
"`model.generation_config` (as opposed to `model.config`); OR b) a GenerationConfig file "
"(https://huggingface.co/docs/transformers/generation_strategies#save-a-custom-decoding-strategy-with-your-model) "
f"\nNon-default generation parameters: {str(non_default_generation_parameters)}"
"(https://huggingface.co/docs/transformers/generation_strategies#save-a-custom-decoding-strategy-with-your-model)."
"This warning will become an exception in the future."
f"\nNon-default generation parameters: {str(non_default_generation_parameters)}",
UserWarning,
)
os.makedirs(save_directory, exist_ok=True)

View File

@@ -313,11 +313,12 @@ class ConfigTestUtils(unittest.TestCase):
old_configuration = old_transformers.models.auto.AutoConfig.from_pretrained(repo)
self.assertEqual(old_configuration.hidden_size, 768)
def test_saving_config_with_custom_generation_kwargs_raises_exception(self):
def test_saving_config_with_custom_generation_kwargs_raises_warning(self):
config = BertConfig(min_length=3) # `min_length = 3` is a non-default generation kwarg
with tempfile.TemporaryDirectory() as tmp_dir:
with self.assertRaises(ValueError):
with self.assertWarns(UserWarning) as cm:
config.save_pretrained(tmp_dir)
self.assertIn("min_length", str(cm.warning))
def test_get_non_default_generation_parameters(self):
config = BertConfig()