2121 get_small_sequential_mlp ,
2222 )
2323except ImportError :
24- from keras .testing_utils import get_small_functional_mlp , get_small_sequential_mlp
24+ try :
25+ from keras .testing_utils import (
26+ get_small_functional_mlp ,
27+ get_small_sequential_mlp ,
28+ )
29+ except ImportError :
30+ from keras .src .testing_infra .test_utils import (
31+ get_small_functional_mlp ,
32+ get_small_sequential_mlp ,
33+ )
2534
2635# Suppress all Tensorflow messages
2736os .environ ["TF_CPP_MIN_LOG_LEVEL" ] = "3"
@@ -166,8 +175,20 @@ def test_save_model_to_tiledb_array_weights(
166175 data = np .random .rand (100 , 3 )
167176
168177 if optimizer :
169- model_opt_weights = batch_get_value (model .optimizer .weights )
170- loaded_opt_weights = batch_get_value (loaded_model .optimizer .weights )
178+ if hasattr (model .optimizer , "weights" ):
179+ model_opt_weights = tf .keras .backend .batch_get_value (
180+ model .optimizer .weights
181+ )
182+ else :
183+ model_opt_weights = [var .numpy () for var in model .optimizer .variables ()]
184+ if hasattr (loaded_model .optimizer , "weights" ):
185+ loaded_opt_weights = tf .keras .backend .batch_get_value (
186+ loaded_model .optimizer .weights
187+ )
188+ else :
189+ loaded_opt_weights = [
190+ var .numpy () for var in loaded_model .optimizer .variables ()
191+ ]
171192
172193 # Assert optimizer weights are equal
173194 for weight_model , weight_loaded_model in zip (
@@ -209,8 +230,20 @@ def test_save_load_with_dense_features(self, tmpdir, loss, optimizer, metrics):
209230 tiledb_model_obj .save (include_optimizer = True )
210231 loaded_model = tiledb_model_obj .load (compile_model = True )
211232
212- model_opt_weights = batch_get_value (model .optimizer .weights )
213- loaded_opt_weights = batch_get_value (loaded_model .optimizer .weights )
233+ if hasattr (model .optimizer , "weights" ):
234+ model_opt_weights = tf .keras .backend .batch_get_value (
235+ model .optimizer .weights
236+ )
237+ else :
238+ model_opt_weights = [var .numpy () for var in model .optimizer .variables ()]
239+ if hasattr (loaded_model .optimizer , "weights" ):
240+ loaded_opt_weights = tf .keras .backend .batch_get_value (
241+ loaded_model .optimizer .weights
242+ )
243+ else :
244+ loaded_opt_weights = [
245+ var .numpy () for var in loaded_model .optimizer .variables ()
246+ ]
214247
215248 # Assert optimizer weights are equal
216249 for weight_model , weight_loaded_model in zip (
@@ -260,8 +293,20 @@ def test_save_load_with_sequence_features(self, tmpdir, loss, optimizer, metrics
260293 tiledb_model_obj .save (include_optimizer = True )
261294 loaded_model = tiledb_model_obj .load (compile_model = True )
262295
263- model_opt_weights = batch_get_value (model .optimizer .weights )
264- loaded_opt_weights = batch_get_value (loaded_model .optimizer .weights )
296+ if hasattr (model .optimizer , "weights" ):
297+ model_opt_weights = tf .keras .backend .batch_get_value (
298+ model .optimizer .weights
299+ )
300+ else :
301+ model_opt_weights = [var .numpy () for var in model .optimizer .variables ()]
302+ if hasattr (loaded_model .optimizer , "weights" ):
303+ loaded_opt_weights = tf .keras .backend .batch_get_value (
304+ loaded_model .optimizer .weights
305+ )
306+ else :
307+ loaded_opt_weights = [
308+ var .numpy () for var in loaded_model .optimizer .variables ()
309+ ]
265310
266311 # Assert optimizer weights are equal
267312 for weight_model , weight_loaded_model in zip (
@@ -277,7 +322,7 @@ def test_save_load_with_sequence_features(self, tmpdir, loss, optimizer, metrics
277322 indices_a [:, 0 ] = np .arange (10 )
278323 inputs_a = tf .SparseTensor (indices_a , values_a , (batch_size , timesteps , 1 ))
279324
280- values_b = np .zeros (10 , dtype = np . str )
325+ values_b = np .zeros (10 , dtype = str )
281326 indices_b = np .zeros ((10 , 3 ), dtype = np .int64 )
282327 indices_b [:, 0 ] = np .arange (10 )
283328 inputs_b = tf .SparseTensor (indices_b , values_b , (batch_size , timesteps , 1 ))
@@ -310,7 +355,7 @@ def test_functional_model_save_load_with_custom_loss_and_metric(self, tmpdir):
310355 tiledb_uri = os .path .join (tmpdir , "model_array" )
311356 tiledb_model_obj = TensorflowKerasTileDBModel (uri = tiledb_uri , model = model )
312357 tiledb_model_obj .save (include_optimizer = True )
313- loaded_model = tiledb_model_obj .load (compile_model = True )
358+ loaded_model = tiledb_model_obj .load (compile_model = True , safe_mode = False )
314359
315360 # Assert all evaluation results are the same.
316361 assert all (
0 commit comments