From d199556d4fc73d9bb9b0db22f700541f00510972 Mon Sep 17 00:00:00 2001 From: ydshieh Date: Fri, 10 Jan 2025 15:43:55 +0100 Subject: [PATCH 1/5] fix --- tests/generation/test_utils.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/generation/test_utils.py b/tests/generation/test_utils.py index ad2aeacbfebd..a93da26732f6 100644 --- a/tests/generation/test_utils.py +++ b/tests/generation/test_utils.py @@ -1077,7 +1077,10 @@ def test_beam_search_low_memory(self): ): self.skipTest(reason="May fix in the future: need model-specific fixes") + set_model_tester_for_less_flaky_test(self) + config, inputs_dict = self.prepare_config_and_inputs_for_generate() + set_config_for_less_flaky_test(config) # batch_size=1 is ok, but batch_size>1 will cause non-identical output config.use_cache = True @@ -1085,6 +1088,7 @@ def test_beam_search_low_memory(self): # test output equality of low versus high memory model = model_class(config).to(torch_device).eval() + set_model_for_less_flaky_test(model) low_output = model.generate( **inputs_dict, From 0a05158e555ed888f9358a77815e6e5247cab235 Mon Sep 17 00:00:00 2001 From: ydshieh Date: Fri, 10 Jan 2025 16:14:59 +0100 Subject: [PATCH 2/5] fix --- tests/generation/test_utils.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/generation/test_utils.py b/tests/generation/test_utils.py index a93da26732f6..91aaba5a3e72 100644 --- a/tests/generation/test_utils.py +++ b/tests/generation/test_utils.py @@ -204,6 +204,9 @@ def _get_logits_processor_kwargs(self, do_sample=False, config=None): "vision_start_token_id", ]: token_index = getattr(config, key, None) + if token_index is None: + if hasattr(self, "model_tester"): + token_index = getattr(self.model_tester, key, None) if token_index is not None and token_index < config.get_text_config().vocab_size: logits_processor_kwargs["bad_words_ids"].append([token_index]) From 1ca6b6df77e1266f6a3827886914b9f2ea225958 Mon Sep 17 00:00:00 2001 From: ydshieh Date: Fri, 10 Jan 2025 16:20:24 +0100 Subject: [PATCH 3/5] fix --- tests/generation/test_utils.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/generation/test_utils.py b/tests/generation/test_utils.py index 91aaba5a3e72..e552368f7630 100644 --- a/tests/generation/test_utils.py +++ b/tests/generation/test_utils.py @@ -1093,6 +1093,8 @@ def test_beam_search_low_memory(self): model = model_class(config).to(torch_device).eval() set_model_for_less_flaky_test(model) + logits_processor_kwargs = self._get_logits_processor_kwargs(config=model.config) + low_output = model.generate( **inputs_dict, max_new_tokens=8, @@ -1100,6 +1102,7 @@ def test_beam_search_low_memory(self): early_stopping=True, low_memory=True, use_cache=True, + **logits_processor_kwargs, ) high_output = model.generate( @@ -1109,6 +1112,7 @@ def test_beam_search_low_memory(self): early_stopping=True, low_memory=False, use_cache=True, + **logits_processor_kwargs, ) self.assertListEqual(low_output.tolist(), high_output.tolist()) From c4f282feee8d56ef5976d3d24fedfc8878dd910a Mon Sep 17 00:00:00 2001 From: ydshieh Date: Fri, 10 Jan 2025 16:42:13 +0100 Subject: [PATCH 4/5] fix --- tests/generation/test_utils.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tests/generation/test_utils.py b/tests/generation/test_utils.py index e552368f7630..f015c9466fb7 100644 --- a/tests/generation/test_utils.py +++ b/tests/generation/test_utils.py @@ -1102,6 +1102,9 @@ def test_beam_search_low_memory(self): early_stopping=True, low_memory=True, use_cache=True, + output_scores=True, + output_logits=True, + return_dict_in_generate=True, **logits_processor_kwargs, ) @@ -1112,9 +1115,13 @@ def test_beam_search_low_memory(self): early_stopping=True, low_memory=False, use_cache=True, + output_scores=True, + output_logits=True, + return_dict_in_generate=True, **logits_processor_kwargs, ) - self.assertListEqual(low_output.tolist(), high_output.tolist()) + # The two outputs must match and their shape must be as expected + self._check_similar_generate_outputs(low_output, high_output) @pytest.mark.generate @parameterized.expand([("random",), ("same",)]) From a2d4f914f5c59068bf9263d6b469a98ba0a1350b Mon Sep 17 00:00:00 2001 From: ydshieh Date: Fri, 10 Jan 2025 17:20:40 +0100 Subject: [PATCH 5/5] fix --- tests/generation/test_utils.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/tests/generation/test_utils.py b/tests/generation/test_utils.py index f015c9466fb7..510f3fe1a926 100644 --- a/tests/generation/test_utils.py +++ b/tests/generation/test_utils.py @@ -204,9 +204,8 @@ def _get_logits_processor_kwargs(self, do_sample=False, config=None): "vision_start_token_id", ]: token_index = getattr(config, key, None) - if token_index is None: - if hasattr(self, "model_tester"): - token_index = getattr(self.model_tester, key, None) + if token_index is None and hasattr(self, "model_tester"): + token_index = getattr(self.model_tester, key, None) if token_index is not None and token_index < config.get_text_config().vocab_size: logits_processor_kwargs["bad_words_ids"].append([token_index])