From 74e845b07dc6be5c8fede157e4a24f402e13ff06 Mon Sep 17 00:00:00 2001 From: GiGiKoneti Date: Sat, 25 Jul 2026 17:03:34 +0530 Subject: [PATCH 1/2] [Fix] Correct ChatGLMTokenizer special token properties getters and setters --- src/diffusers/pipelines/kolors/tokenizer.py | 15 +++++++++------ tests/pipelines/kolors/test_kolors.py | 15 +++++++++++++++ 2 files changed, 24 insertions(+), 6 deletions(-) diff --git a/src/diffusers/pipelines/kolors/tokenizer.py b/src/diffusers/pipelines/kolors/tokenizer.py index c0a1831bdeee..9632e9db73e1 100644 --- a/src/diffusers/pipelines/kolors/tokenizer.py +++ b/src/diffusers/pipelines/kolors/tokenizer.py @@ -129,6 +129,9 @@ def __init__( padding_side=padding_side, clean_up_tokenization_spaces=clean_up_tokenization_spaces, encode_special_tokens=encode_special_tokens, + pad_token=kwargs.pop("pad_token", ""), + unk_token=kwargs.pop("unk_token", ""), + eos_token=kwargs.pop("eos_token", ""), **kwargs, ) @@ -140,19 +143,19 @@ def get_command(self, token): @property def unk_token(self) -> str: - return "" + return self._special_tokens_map.get("unk_token", "") @unk_token.setter def unk_token(self, value: str): - self._unk_token = value + self._special_tokens_map["unk_token"] = value @property def pad_token(self) -> str: - return "" + return self._special_tokens_map.get("pad_token", "") @pad_token.setter def pad_token(self, value: str): - self._pad_token = value + self._special_tokens_map["pad_token"] = value @property def pad_token_id(self): @@ -160,11 +163,11 @@ def pad_token_id(self): @property def eos_token(self) -> str: - return "" + return self._special_tokens_map.get("eos_token", "") @eos_token.setter def eos_token(self, value: str): - self._eos_token = value + self._special_tokens_map["eos_token"] = value @property def eos_token_id(self): diff --git a/tests/pipelines/kolors/test_kolors.py b/tests/pipelines/kolors/test_kolors.py index f1d4982d4d74..eb2654f59e8b 100644 --- a/tests/pipelines/kolors/test_kolors.py +++ b/tests/pipelines/kolors/test_kolors.py @@ -146,3 +146,18 @@ def test_save_load_float16(self): def test_inference_batch_single_identical(self): self._test_inference_batch_single_identical(expected_max_diff=5e-3) + + def test_chatglm_tokenizer_properties(self): + components = self.get_dummy_components() + tokenizer = components["tokenizer"] + self.assertEqual(tokenizer.pad_token, "") + self.assertEqual(tokenizer.unk_token, "") + self.assertEqual(tokenizer.eos_token, "") + + tokenizer.pad_token = "" + tokenizer.unk_token = "" + tokenizer.eos_token = "" + + self.assertEqual(tokenizer.pad_token, "") + self.assertEqual(tokenizer.unk_token, "") + self.assertEqual(tokenizer.eos_token, "") From 9b7b16c1912978b5e3a056c1c768f4922ffc0b2a Mon Sep 17 00:00:00 2001 From: GiGiKoneti Date: Thu, 30 Jul 2026 07:55:24 +0530 Subject: [PATCH 2/2] Fix ChatGLMTokenizer default pad_token string to preserve pad_token_id invariant --- src/diffusers/pipelines/kolors/tokenizer.py | 4 ++-- tests/pipelines/kolors/test_kolors.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/diffusers/pipelines/kolors/tokenizer.py b/src/diffusers/pipelines/kolors/tokenizer.py index e1ca46cee77f..50efe7aefa5f 100644 --- a/src/diffusers/pipelines/kolors/tokenizer.py +++ b/src/diffusers/pipelines/kolors/tokenizer.py @@ -137,7 +137,7 @@ def __init__( padding_side=padding_side, clean_up_tokenization_spaces=clean_up_tokenization_spaces, encode_special_tokens=encode_special_tokens, - pad_token=kwargs.pop("pad_token", ""), + pad_token=kwargs.pop("pad_token", ""), unk_token=kwargs.pop("unk_token", ""), eos_token=kwargs.pop("eos_token", ""), **kwargs, @@ -159,7 +159,7 @@ def unk_token(self, value: str): @property def pad_token(self) -> str: - return self._special_tokens_map.get("pad_token", "") + return self._special_tokens_map.get("pad_token", "") @pad_token.setter def pad_token(self, value: str): diff --git a/tests/pipelines/kolors/test_kolors.py b/tests/pipelines/kolors/test_kolors.py index 35a14eb8c0e2..3b3e6fef1528 100644 --- a/tests/pipelines/kolors/test_kolors.py +++ b/tests/pipelines/kolors/test_kolors.py @@ -149,7 +149,7 @@ def test_inference_batch_single_identical(self): def test_chatglm_tokenizer_properties(self): components = self.get_dummy_components() tokenizer = components["tokenizer"] - self.assertEqual(tokenizer.pad_token, "") + self.assertEqual(tokenizer.pad_token, "") self.assertEqual(tokenizer.unk_token, "") self.assertEqual(tokenizer.eos_token, "")