Skip to content

Commit e2be4de

Browse files
Sets is_gptq_calibrated flag when deserializing GPTQ models (#21748)
* Sets is_gptq_calibrated flag when deserializing GPTQ models * move flag initialization to load_own_variables * Added tests
1 parent a5e6d0a commit e2be4de

File tree

4 files changed

+10
-0
lines changed

4 files changed

+10
-0
lines changed

keras/src/layers/core/dense.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -288,6 +288,10 @@ def load_own_variables(self, store):
288288
if mode not in self.variable_serialization_spec:
289289
raise self._quantization_mode_error(mode)
290290

291+
if mode == "gptq":
292+
# A saved quantized model will always be calibrated.
293+
self.is_gptq_calibrated = True
294+
291295
idx = 0
292296
for name in self.variable_serialization_spec[mode]:
293297
if name == "kernel":

keras/src/layers/core/dense_test.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -914,6 +914,7 @@ def test_legacy_load_own_variables(self):
914914
layer = layers.Dense(units=16, dtype="gptq/4/8_from_float32")
915915
layer.build((None, 8))
916916
layer.load_own_variables(gptq_store)
917+
self.assertTrue(layer.is_gptq_calibrated)
917918
self.assertAllClose(layer.bias, gptq_store["0"])
918919
self.assertAllClose(layer.quantized_kernel, gptq_store["1"])
919920
self.assertAllClose(layer.kernel_scale, gptq_store["2"])

keras/src/layers/core/einsum_dense.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -356,6 +356,10 @@ def load_own_variables(self, store):
356356
if mode not in self.variable_serialization_spec:
357357
raise self._quantization_mode_error(mode)
358358

359+
if mode == "gptq":
360+
# A saved quantized model will always be calibrated.
361+
self.is_gptq_calibrated = True
362+
359363
idx = 0
360364
for name in self.variable_serialization_spec[mode]:
361365
if name == "kernel":

keras/src/layers/core/einsum_dense_test.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1131,6 +1131,7 @@ def test_legacy_load_own_variables(self):
11311131
layer = layers.EinsumDense(**config, dtype="gptq/4/8_from_float32")
11321132
layer.build((None, 3))
11331133
layer.load_own_variables(gptq_store)
1134+
self.assertTrue(layer.is_gptq_calibrated)
11341135
self.assertAllClose(layer.bias, gptq_store["0"])
11351136
self.assertAllClose(layer.quantized_kernel, gptq_store["1"])
11361137
self.assertAllClose(layer.kernel_scale, gptq_store["2"])

0 commit comments

Comments
 (0)