---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-14-5abadabf4a36> in <module>
----> 1 model.ranking_model.save('tfrs-ranking')
~/.local/lib/python3.6/site-packages/tensorflow/python/keras/engine/training.py in save(self, filepath, overwrite, include_optimizer, save_format, signatures, options)
1977 """
1978 save.save_model(self, filepath, overwrite, include_optimizer, save_format,
-> 1979 signatures, options)
1980
1981 def save_weights(self,
~/.local/lib/python3.6/site-packages/tensorflow/python/keras/saving/save.py in save_model(model, filepath, overwrite, include_optimizer, save_format, signatures, options)
132 else:
133 saved_model_save.save(model, filepath, overwrite, include_optimizer,
--> 134 signatures, options)
135
136
~/.local/lib/python3.6/site-packages/tensorflow/python/keras/saving/saved_model/save.py in save(model, filepath, overwrite, include_optimizer, signatures, options)
78 # we use the default replica context here.
79 with distribution_strategy_context._get_default_replica_context(): # pylint: disable=protected-access
---> 80 save_lib.save(model, filepath, signatures, options)
81
82 if not include_optimizer:
~/.local/lib/python3.6/site-packages/tensorflow/python/saved_model/save.py in save(obj, export_dir, signatures, options)
974
975 _, exported_graph, object_saver, asset_info = _build_meta_graph(
--> 976 obj, export_dir, signatures, options, meta_graph_def)
977 saved_model.saved_model_schema_version = constants.SAVED_MODEL_SCHEMA_VERSION
978
~/.local/lib/python3.6/site-packages/tensorflow/python/saved_model/save.py in _build_meta_graph(obj, export_dir, signatures, options, meta_graph_def)
1045 if signatures is None:
1046 signatures = signature_serialization.find_function_to_export(
-> 1047 checkpoint_graph_view)
1048
1049 signatures, wrapped_functions = (
~/.local/lib/python3.6/site-packages/tensorflow/python/saved_model/signature_serialization.py in find_function_to_export(saveable_view)
73 # If the user did not specify signatures, check the root object for a function
74 # that can be made into a signature.
---> 75 functions = saveable_view.list_functions(saveable_view.root)
76 signature = functions.get(DEFAULT_SIGNATURE_ATTR, None)
77 if signature is not None:
~/.local/lib/python3.6/site-packages/tensorflow/python/saved_model/save.py in list_functions(self, obj, extra_functions)
143 if obj_functions is None:
144 obj_functions = obj._list_functions_for_serialization( # pylint: disable=protected-access
--> 145 self._serialization_cache)
146 self._functions[obj] = obj_functions
147 if extra_functions:
~/.local/lib/python3.6/site-packages/tensorflow/python/keras/engine/training.py in _list_functions_for_serialization(self, serialization_cache)
2588 self.predict_function = None
2589 functions = super(
-> 2590 Model, self)._list_functions_for_serialization(serialization_cache)
2591 self.train_function = train_function
2592 self.test_function = test_function
~/.local/lib/python3.6/site-packages/tensorflow/python/keras/engine/base_layer.py in _list_functions_for_serialization(self, serialization_cache)
3017 def _list_functions_for_serialization(self, serialization_cache):
3018 return (self._trackable_saved_model_saver
-> 3019 .list_functions_for_serialization(serialization_cache))
3020
3021 def __getstate__(self):
~/.local/lib/python3.6/site-packages/tensorflow/python/keras/saving/saved_model/base_serialization.py in list_functions_for_serialization(self, serialization_cache)
85 `ConcreteFunction`.
86 """
---> 87 fns = self.functions_to_serialize(serialization_cache)
88
89 # The parent AutoTrackable class saves all user-defined tf.functions, and
~/.local/lib/python3.6/site-packages/tensorflow/python/keras/saving/saved_model/layer_serialization.py in functions_to_serialize(self, serialization_cache)
77 def functions_to_serialize(self, serialization_cache):
78 return (self._get_serialized_attributes(
---> 79 serialization_cache).functions_to_serialize)
80
81 def _get_serialized_attributes(self, serialization_cache):
~/.local/lib/python3.6/site-packages/tensorflow/python/keras/saving/saved_model/layer_serialization.py in _get_serialized_attributes(self, serialization_cache)
93
94 object_dict, function_dict = self._get_serialized_attributes_internal(
---> 95 serialization_cache)
96
97 serialized_attr.set_and_validate_objects(object_dict)
~/.local/lib/python3.6/site-packages/tensorflow/python/keras/saving/saved_model/model_serialization.py in _get_serialized_attributes_internal(self, serialization_cache)
49 # cache (i.e. this is the root level object).
50 if len(serialization_cache[constants.KERAS_CACHE_KEY]) == 1:
---> 51 default_signature = save_impl.default_save_signature(self.obj)
52
53 # Other than the default signature function, all other attributes match with
~/.local/lib/python3.6/site-packages/tensorflow/python/keras/saving/saved_model/save_impl.py in default_save_signature(layer)
203 original_losses = _reset_layer_losses(layer)
204 fn = saving_utils.trace_model_call(layer)
--> 205 fn.get_concrete_function()
206 _restore_layer_losses(original_losses)
207 return fn
~/.local/lib/python3.6/site-packages/tensorflow/python/eager/def_function.py in get_concrete_function(self, *args, **kwargs)
1165 ValueError: if this object has not yet been called on concrete values.
1166 """
-> 1167 concrete = self._get_concrete_function_garbage_collected(*args, **kwargs)
1168 concrete._garbage_collector.release() # pylint: disable=protected-access
1169 return concrete
~/.local/lib/python3.6/site-packages/tensorflow/python/eager/def_function.py in _get_concrete_function_garbage_collected(self, *args, **kwargs)
1071 if self._stateful_fn is None:
1072 initializers = []
-> 1073 self._initialize(args, kwargs, add_initializers_to=initializers)
1074 self._initialize_uninitialized_variables(initializers)
1075
~/.local/lib/python3.6/site-packages/tensorflow/python/eager/def_function.py in _initialize(self, args, kwds, add_initializers_to)
695 self._concrete_stateful_fn = (
696 self._stateful_fn._get_concrete_function_internal_garbage_collected( # pylint: disable=protected-access
--> 697 *args, **kwds))
698
699 def invalid_creator_scope(*unused_args, **unused_kwds):
~/.local/lib/python3.6/site-packages/tensorflow/python/eager/function.py in _get_concrete_function_internal_garbage_collected(self, *args, **kwargs)
2853 args, kwargs = None, None
2854 with self._lock:
-> 2855 graph_function, _, _ = self._maybe_define_function(args, kwargs)
2856 return graph_function
2857
~/.local/lib/python3.6/site-packages/tensorflow/python/eager/function.py in _maybe_define_function(self, args, kwargs)
3211
3212 self._function_cache.missed.add(call_context_key)
-> 3213 graph_function = self._create_graph_function(args, kwargs)
3214 self._function_cache.primary[cache_key] = graph_function
3215 return graph_function, args, kwargs
~/.local/lib/python3.6/site-packages/tensorflow/python/eager/function.py in _create_graph_function(self, args, kwargs, override_flat_arg_shapes)
3073 arg_names=arg_names,
3074 override_flat_arg_shapes=override_flat_arg_shapes,
-> 3075 capture_by_value=self._capture_by_value),
3076 self._function_attributes,
3077 function_spec=self.function_spec,
~/.local/lib/python3.6/site-packages/tensorflow/python/framework/func_graph.py in func_graph_from_py_func(name, python_func, args, kwargs, signature, func_graph, autograph, autograph_options, add_control_dependencies, arg_names, op_return_value, collections, capture_by_value, override_flat_arg_shapes)
984 _, original_func = tf_decorator.unwrap(python_func)
985
--> 986 func_outputs = python_func(*func_args, **func_kwargs)
987
988 # invariant: `func_outputs` contains only Tensors, CompositeTensors,
~/.local/lib/python3.6/site-packages/tensorflow/python/eager/def_function.py in wrapped_fn(*args, **kwds)
598 # __wrapped__ allows AutoGraph to swap in a converted function. We give
599 # the function a weak reference to itself to avoid a reference cycle.
--> 600 return weak_wrapped_fn().__wrapped__(*args, **kwds)
601 weak_wrapped_fn = weakref.ref(wrapped_fn)
602
~/.local/lib/python3.6/site-packages/tensorflow/python/keras/saving/saving_utils.py in _wrapped_model(*args)
132 with base_layer_utils.call_context().enter(
133 model, inputs=inputs, build_graph=False, training=False, saving=True):
--> 134 outputs = model(inputs, training=False)
135
136 # Outputs always has to be a flat dict.
~/.local/lib/python3.6/site-packages/tensorflow/python/keras/engine/base_layer.py in __call__(self, *args, **kwargs)
983
984 with ops.enable_auto_cast_variables(self._compute_dtype_object):
--> 985 outputs = call_fn(inputs, *args, **kwargs)
986
987 if self._activity_regularizer:
~/.local/lib/python3.6/site-packages/tensorflow/python/autograph/impl/api.py in wrapper(*args, **kwargs)
300 def wrapper(*args, **kwargs):
301 with ag_ctx.ControlStatusCtx(status=ag_ctx.Status.DISABLED):
--> 302 return func(*args, **kwargs)
303
304 if inspect.isfunction(func) or inspect.ismethod(func):
TypeError: call() missing 1 required positional argument: 'movie_title'