Remove experimental keras SavedModel symbol from V2.
Users should use model.save(path, save_format='tf') instead. PiperOrigin-RevId: 276131264 Change-Id: If01f787860a117d6de8f96533cfa8b9a7a128a53
This commit is contained in:
parent
5022124b9e
commit
f3969a8df1
@ -64,7 +64,7 @@ sequential = LazyLoader(
|
||||
date=None,
|
||||
instructions=('Please use `model.save(..., save_format="tf")` or '
|
||||
'`tf.keras.models.save_model(..., save_format="tf")`.'))
|
||||
@keras_export('keras.experimental.export_saved_model')
|
||||
@keras_export(v1=['keras.experimental.export_saved_model'])
|
||||
def export_saved_model(model,
|
||||
saved_model_path,
|
||||
custom_objects=None,
|
||||
@ -374,7 +374,7 @@ def _assert_same_non_optimizer_objects(model, model_graph, clone, clone_graph):
|
||||
date=None,
|
||||
instructions=('The experimental save and load functions have been '
|
||||
'deprecated. Please switch to `tf.keras.models.load_model`.'))
|
||||
@keras_export('keras.experimental.load_from_saved_model')
|
||||
@keras_export(v1=['keras.experimental.load_from_saved_model'])
|
||||
def load_from_saved_model(saved_model_path, custom_objects=None):
|
||||
"""Loads a keras Model from a SavedModel created by `export_saved_model()`.
|
||||
|
||||
|
@ -32,14 +32,6 @@ tf_module {
|
||||
name: "WideDeepModel"
|
||||
mtype: "<type \'type\'>"
|
||||
}
|
||||
member_method {
|
||||
name: "export_saved_model"
|
||||
argspec: "args=[\'model\', \'saved_model_path\', \'custom_objects\', \'as_text\', \'input_signature\', \'serving_only\'], varargs=None, keywords=None, defaults=[\'None\', \'False\', \'None\', \'False\'], "
|
||||
}
|
||||
member_method {
|
||||
name: "load_from_saved_model"
|
||||
argspec: "args=[\'saved_model_path\', \'custom_objects\'], varargs=None, keywords=None, defaults=[\'None\'], "
|
||||
}
|
||||
member_method {
|
||||
name: "terminate_keras_multiprocessing_pools"
|
||||
argspec: "args=[\'grace_period\', \'use_sigkill\'], varargs=None, keywords=None, defaults=[\'0.1\', \'False\'], "
|
||||
|
@ -192,9 +192,9 @@ manual_symbol_renames = {
|
||||
"tf.contrib.util.constant_value":
|
||||
"tf.get_static_value",
|
||||
"tf.contrib.saved_model.load_keras_model":
|
||||
"tf.keras.experimental.load_from_saved_model",
|
||||
"tf.compat.v1.keras.experimental.load_from_saved_model",
|
||||
"tf.contrib.saved_model.save_keras_model":
|
||||
"tf.keras.experimental.export_saved_model",
|
||||
"tf.compat.v1.keras.experimental.export_saved_model",
|
||||
"tf.contrib.rnn.RNNCell":
|
||||
"tf.compat.v1.nn.rnn_cell.RNNCell",
|
||||
"tf.contrib.rnn.LSTMStateTuple":
|
||||
|
@ -514,6 +514,10 @@ renames = {
|
||||
'tf.compat.v1.keras.backend.get_session',
|
||||
'tf.keras.backend.set_session':
|
||||
'tf.compat.v1.keras.backend.set_session',
|
||||
'tf.keras.experimental.export_saved_model':
|
||||
'tf.compat.v1.keras.experimental.export_saved_model',
|
||||
'tf.keras.experimental.load_from_saved_model':
|
||||
'tf.compat.v1.keras.experimental.load_from_saved_model',
|
||||
'tf.keras.layers.CuDNNGRU':
|
||||
'tf.compat.v1.keras.layers.CuDNNGRU',
|
||||
'tf.keras.layers.CuDNNLSTM':
|
||||
|
@ -862,6 +862,14 @@ class TFAPIChangeSpec(ast_edits.NoUpdateSpec):
|
||||
" and tf.distribute.experimental.CentralStorageStrategy (one machine). "
|
||||
"Note the changes in constructors. " + distribute_strategy_api_changes)
|
||||
|
||||
keras_experimental_export_comment = (
|
||||
ast_edits.WARNING,
|
||||
"tf.keras.experimental.export_saved_model and "
|
||||
"tf.keras.experimental.load_from_saved_model have been deprecated."
|
||||
"Please use model.save(path, save_format='tf') "
|
||||
"(or alternatively tf.keras.models.save_model), and "
|
||||
"tf.keras.models.load_model(path) instead.")
|
||||
|
||||
# Function warnings. <function name> placeholder inside warnings will be
|
||||
# replaced by function name.
|
||||
# You can use *. to add items which do not check the FQN, and apply to e.g.,
|
||||
@ -921,6 +929,10 @@ class TFAPIChangeSpec(ast_edits.NoUpdateSpec):
|
||||
contrib_estimator_head_comment,
|
||||
"tf.contrib.estimator.regression_head":
|
||||
contrib_estimator_head_comment,
|
||||
"tf.contrib.saved_model.load_keras_model":
|
||||
keras_experimental_export_comment,
|
||||
"tf.contrib.saved_model.save_keras_model":
|
||||
keras_experimental_export_comment,
|
||||
"tf.contrib.summary.all_summary_ops":
|
||||
contrib_summary_comment,
|
||||
"tf.contrib.summary.audio":
|
||||
@ -1009,6 +1021,10 @@ class TFAPIChangeSpec(ast_edits.NoUpdateSpec):
|
||||
"checkpoints (format used by `keras_model.save_weights` and "
|
||||
"`keras_model.load_weights`) by default in 2.0. To continue "
|
||||
"saving name-based checkpoints, set `checkpoint_format='saver'`."),
|
||||
"tf.keras.experimental.export_saved_model":
|
||||
keras_experimental_export_comment,
|
||||
"tf.keras.experimental.load_from_saved_model":
|
||||
keras_experimental_export_comment,
|
||||
"tf.keras.initializers.Zeros":
|
||||
initializers_no_dtype_comment,
|
||||
"tf.keras.initializers.zeros":
|
||||
|
@ -1206,10 +1206,14 @@ bazel-bin/tensorflow/tools/compatibility/update/generate_v2_reorders_map
|
||||
"tf.contrib.saved_model.save_keras_model(model, './saved_models')\n"
|
||||
"tf.contrib.saved_model.load_keras_model(saved_model_path)\n")
|
||||
expected_text = (
|
||||
"tf.keras.experimental.export_saved_model(model, './saved_models')\n"
|
||||
"tf.keras.experimental.load_from_saved_model(saved_model_path)\n")
|
||||
_, unused_report, unused_errors, new_text = self._upgrade(text)
|
||||
"tf.compat.v1.keras.experimental.export_saved_model(model, "
|
||||
"'./saved_models')\ntf.compat.v1.keras.experimental."
|
||||
"load_from_saved_model(saved_model_path)\n"
|
||||
)
|
||||
_, report, unused_errors, new_text = self._upgrade(text)
|
||||
self.assertEqual(new_text, expected_text)
|
||||
expected_info = "Please use model.save"
|
||||
self.assertIn(expected_info, report)
|
||||
|
||||
def testStatelessMultinomial(self):
|
||||
text = (
|
||||
@ -2256,12 +2260,20 @@ def _log_prob(self, x):
|
||||
result_a, result_b = results[0], results[1]
|
||||
self.assertEqual(result_a[3], expected_text_a)
|
||||
self.assertEqual(result_b[3], expected_text_b)
|
||||
|
||||
def test_model_to_estimator_checkpoint_warning(self):
|
||||
text = "tf.keras.estimator.model_to_estimator(model)"
|
||||
_, report, _, _ = self._upgrade(text)
|
||||
expected_info = "will save object-based checkpoints"
|
||||
self.assertIn(expected_info, report)
|
||||
|
||||
def test_keras_experimental_export_warning(self):
|
||||
text = "tf.keras.experimental.export_saved_model"
|
||||
_, report, _, _ = self._upgrade(text)
|
||||
expected_info = "Please use model.save"
|
||||
self.assertIn(expected_info, report)
|
||||
|
||||
|
||||
class TestUpgradeFiles(test_util.TensorFlowTestCase):
|
||||
|
||||
def testInplace(self):
|
||||
|
Loading…
Reference in New Issue
Block a user