From 74c5fd8e3788252043b5d5cb1cd1e5c17c4a7ae0 Mon Sep 17 00:00:00 2001 From: Hamidreza Hosseinkhani Date: Thu, 25 Sep 2025 23:29:14 -0400 Subject: [PATCH] Fix Keras 3.x compatibility in FactorizedTopK layer The add_weight() method call in Streaming.init used positional arguments which breaks with Keras 3.x. Changed to keyword argument to maintain compatibility with both Keras 2.x and 3.x versions. Fixes users getting "Cannot convert ('c','o','u','n','t','e','r') to a shape" error when using TensorFlow 2.16+ with TFRS 0.7.3. Fixes #712 Fixes #731 Fixes #748 Fixes #754 Fixes #759 --- tensorflow_recommenders/layers/factorized_top_k.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tensorflow_recommenders/layers/factorized_top_k.py b/tensorflow_recommenders/layers/factorized_top_k.py index 3f74fe4..ebbca38 100644 --- a/tensorflow_recommenders/layers/factorized_top_k.py +++ b/tensorflow_recommenders/layers/factorized_top_k.py @@ -373,7 +373,7 @@ def __init__(self, self._num_parallel_calls = num_parallel_calls self._sorted = sorted_order - self._counter = self.add_weight("counter", dtype=tf.int32, trainable=False) + self._counter = self.add_weight(name="counter", dtype=tf.int32, trainable=False) def index_from_dataset( self,