From fc220a61b71bd3e348aee311bff3b25117550865 Mon Sep 17 00:00:00 2001 From: Martin Wicke Date: Tue, 11 Dec 2018 16:30:04 -0800 Subject: [PATCH] Remove deprecated tf.substr PiperOrigin-RevId: 225092500 --- tensorflow/python/ops/string_ops.py | 9 +++++---- tensorflow/tools/api/golden/v2/tensorflow.pbtxt | 4 ---- tensorflow/tools/compatibility/reorders_v2.py | 1 + tensorflow/tools/compatibility/tf_upgrade_v2.py | 7 +++++-- tensorflow/tools/compatibility/tf_upgrade_v2_test.py | 7 +++++++ 5 files changed, 18 insertions(+), 10 deletions(-) diff --git a/tensorflow/python/ops/string_ops.py b/tensorflow/python/ops/string_ops.py index 046459706c0..9967f48060c 100644 --- a/tensorflow/python/ops/string_ops.py +++ b/tensorflow/python/ops/string_ops.py @@ -367,7 +367,7 @@ def string_length_v2(input, unit="BYTE", name=None): string_length.__doc__ = gen_string_ops.string_length.__doc__ -@tf_export("substr") +@tf_export(v1=["substr"]) @deprecation.deprecated(None, "Use `tf.strings.substr` instead of `tf.substr`.") def substr_deprecated(input, pos, len, name=None, unit="BYTE"): return substr(input, pos, len, name=name, unit=unit) @@ -380,14 +380,15 @@ substr_deprecated.__doc__ = gen_string_ops.substr.__doc__ def substr(input, pos, len, name=None, unit="BYTE"): return gen_string_ops.substr(input, pos, len, unit=unit, name=name) +substr.__doc__ = gen_string_ops.substr.__doc__ + @tf_export("strings.substr", v1=[]) @dispatch.add_dispatch_support def substr_v2(input, pos, len, unit="BYTE", name=None): - return substr(input, pos, len, name=name, unit=unit) + return gen_string_ops.substr(input, pos, len, unit=unit, name=name) - -substr.__doc__ = gen_string_ops.substr.__doc__ +substr_v2.__doc__ = gen_string_ops.substr.__doc__ ops.NotDifferentiable("RegexReplace") diff --git a/tensorflow/tools/api/golden/v2/tensorflow.pbtxt b/tensorflow/tools/api/golden/v2/tensorflow.pbtxt index ee81e86fd56..574b6778fad 100644 --- a/tensorflow/tools/api/golden/v2/tensorflow.pbtxt +++ b/tensorflow/tools/api/golden/v2/tensorflow.pbtxt @@ -980,10 +980,6 @@ tf_module { name: "string_split" argspec: "args=[\'source\', \'delimiter\', \'skip_empty\'], varargs=None, keywords=None, defaults=[\' \', \'True\'], " } - member_method { - name: "substr" - argspec: "args=[\'input\', \'pos\', \'len\', \'name\', \'unit\'], varargs=None, keywords=None, defaults=[\'None\', \'BYTE\'], " - } member_method { name: "subtract" argspec: "args=[\'x\', \'y\', \'name\'], varargs=None, keywords=None, defaults=[\'None\'], " diff --git a/tensorflow/tools/compatibility/reorders_v2.py b/tensorflow/tools/compatibility/reorders_v2.py index 44494ac148c..1c9fb92db0e 100644 --- a/tensorflow/tools/compatibility/reorders_v2.py +++ b/tensorflow/tools/compatibility/reorders_v2.py @@ -109,6 +109,7 @@ reorders = { 'tf.strings.length': ['input', 'name', 'unit'], 'tf.strings.reduce_join': ['inputs', 'axis', 'keep_dims', 'separator', 'name', 'reduction_indices'], 'tf.strings.substr': ['input', 'pos', 'len', 'name', 'unit'], + 'tf.substr': ['input', 'pos', 'len', 'name', 'unit'], 'tf.transpose': ['a', 'perm', 'name', 'conjugate'], 'tf.tuple': ['tensors', 'name', 'control_inputs'], 'tf.while_loop': ['cond', 'body', 'loop_vars', 'shape_invariants', 'parallel_iterations', 'back_prop', 'swap_memory', 'name', 'maximum_iterations', 'return_same_structure'] diff --git a/tensorflow/tools/compatibility/tf_upgrade_v2.py b/tensorflow/tools/compatibility/tf_upgrade_v2.py index ea86da42f6b..427e22b721f 100644 --- a/tensorflow/tools/compatibility/tf_upgrade_v2.py +++ b/tensorflow/tools/compatibility/tf_upgrade_v2.py @@ -492,6 +492,8 @@ class TFAPIChangeSpec(ast_edits.APIChangeSpec): "tf.sparse.reduce_max", "tf.random.stateless_multinomial": "tf.random.stateless_categorical", + "tf.substr": + "tf.strings.substr", "tf.string_to_hash_bucket": "tf.strings.to_hash_bucket", "tf.string_to_number": @@ -600,9 +602,10 @@ class TFAPIChangeSpec(ast_edits.APIChangeSpec): "tf.sparse.reduce_max", "tf.sparse_reduce_max", "tf.io.decode_csv", - "tf.strings.substr", - "tf.strings.reduce_join", "tf.strings.length", + "tf.strings.reduce_join", + "tf.strings.substr", + "tf.substr", "tf.transpose", "tf.tuple", "tf.parse_example", diff --git a/tensorflow/tools/compatibility/tf_upgrade_v2_test.py b/tensorflow/tools/compatibility/tf_upgrade_v2_test.py index 2cc874fe7f5..484900d0002 100644 --- a/tensorflow/tools/compatibility/tf_upgrade_v2_test.py +++ b/tensorflow/tools/compatibility/tf_upgrade_v2_test.py @@ -443,6 +443,13 @@ bazel-bin/tensorflow/tools/compatibility/update/generate_v2_reorders_map ) self.assertEqual(new_text, expected_text) + def test_substr(self): + text = "tf.substr(input, pos, len, name, unit)\n" + _, unused_report, errors, new_text = self._upgrade(text) + self.assertEqual("tf.strings.substr(input=input, pos=pos, len=len, " + "name=name, unit=unit)\n", new_text) + self.assertEqual(errors, []) + def testColocateGradientsWithOps(self): text = "tf.gradients(a, foo=False)\n" _, unused_report, errors, new_text = self._upgrade(text)