From 6513629c353a72eadbce31e53e08ad68ad573a1f Mon Sep 17 00:00:00 2001 From: Pavithra Vijay Date: Wed, 20 Feb 2019 15:47:23 -0800 Subject: [PATCH] Updating cosine similarity loss. - Changed CosineProximity to CosineSimilarity in v2 - Added `tf.keras.losses.cosine_similarity` to the namespaces. Keeping the existing v1 namespaces. - Removed the negate sign from cosine similarity. PiperOrigin-RevId: 234885212 --- .../keras/api/keras/losses/__init__.py | 2 +- .../keras/api/keras/metrics/__init__.py | 2 +- tensorflow/python/keras/losses.py | 63 ++++++++++--------- tensorflow/python/keras/losses_test.py | 23 ++++--- tensorflow/python/keras/metrics.py | 40 +++++++----- tensorflow/python/keras/metrics_test.py | 14 ++--- ...low.keras.losses.-cosine-similarity.pbtxt} | 7 ++- .../golden/v1/tensorflow.keras.losses.pbtxt | 6 +- ...ow.keras.metrics.-cosine-similarity.pbtxt} | 6 +- .../golden/v1/tensorflow.keras.metrics.pbtxt | 2 +- ...low.keras.losses.-cosine-similarity.pbtxt} | 7 ++- .../golden/v2/tensorflow.keras.losses.pbtxt | 8 +-- ...ow.keras.metrics.-cosine-similarity.pbtxt} | 6 +- .../golden/v2/tensorflow.keras.metrics.pbtxt | 10 +-- ...ensorflow.losses.-cosine-similarity.pbtxt} | 7 ++- .../api/golden/v2/tensorflow.losses.pbtxt | 8 +-- ...nsorflow.metrics.-cosine-similarity.pbtxt} | 6 +- .../api/golden/v2/tensorflow.metrics.pbtxt | 10 +-- 18 files changed, 110 insertions(+), 117 deletions(-) rename tensorflow/tools/api/golden/{v2/tensorflow.losses.-cosine-proximity.pbtxt => v1/tensorflow.keras.losses.-cosine-similarity.pbtxt} (73%) rename tensorflow/tools/api/golden/v1/{tensorflow.keras.metrics.-cosine-proximity.pbtxt => tensorflow.keras.metrics.-cosine-similarity.pbtxt} (96%) rename tensorflow/tools/api/golden/v2/{tensorflow.keras.losses.-cosine-proximity.pbtxt => tensorflow.keras.losses.-cosine-similarity.pbtxt} (73%) rename tensorflow/tools/api/golden/v2/{tensorflow.keras.metrics.-cosine-proximity.pbtxt => tensorflow.keras.metrics.-cosine-similarity.pbtxt} (96%) rename tensorflow/tools/api/golden/{v1/tensorflow.keras.losses.-cosine-proximity.pbtxt => v2/tensorflow.losses.-cosine-similarity.pbtxt} (74%) rename tensorflow/tools/api/golden/v2/{tensorflow.metrics.-cosine-proximity.pbtxt => tensorflow.metrics.-cosine-similarity.pbtxt} (96%) diff --git a/tensorflow/contrib/keras/api/keras/losses/__init__.py b/tensorflow/contrib/keras/api/keras/losses/__init__.py index c4476a7bbd5..b12832d2e2a 100644 --- a/tensorflow/contrib/keras/api/keras/losses/__init__.py +++ b/tensorflow/contrib/keras/api/keras/losses/__init__.py @@ -22,7 +22,7 @@ from __future__ import print_function from tensorflow.python.keras.losses import binary_crossentropy from tensorflow.python.keras.losses import categorical_crossentropy from tensorflow.python.keras.losses import categorical_hinge -from tensorflow.python.keras.losses import cosine_proximity +from tensorflow.python.keras.losses import cosine_similarity from tensorflow.python.keras.losses import hinge from tensorflow.python.keras.losses import kullback_leibler_divergence from tensorflow.python.keras.losses import logcosh diff --git a/tensorflow/contrib/keras/api/keras/metrics/__init__.py b/tensorflow/contrib/keras/api/keras/metrics/__init__.py index 7317fdb52c5..095b5d798df 100644 --- a/tensorflow/contrib/keras/api/keras/metrics/__init__.py +++ b/tensorflow/contrib/keras/api/keras/metrics/__init__.py @@ -23,7 +23,7 @@ from tensorflow.python.keras.metrics import binary_accuracy from tensorflow.python.keras.metrics import binary_crossentropy from tensorflow.python.keras.metrics import categorical_accuracy from tensorflow.python.keras.metrics import categorical_crossentropy -from tensorflow.python.keras.metrics import cosine_proximity +from tensorflow.python.keras.metrics import cosine_similarity from tensorflow.python.keras.metrics import hinge from tensorflow.python.keras.metrics import kullback_leibler_divergence from tensorflow.python.keras.metrics import mean_absolute_error diff --git a/tensorflow/python/keras/losses.py b/tensorflow/python/keras/losses.py index 1bffcab5c7b..2d8358cab43 100644 --- a/tensorflow/python/keras/losses.py +++ b/tensorflow/python/keras/losses.py @@ -943,38 +943,53 @@ def poisson(y_true, y_pred): return K.mean(y_pred - y_true * math_ops.log(y_pred + K.epsilon()), axis=-1) -@keras_export('keras.metrics.cosine_proximity', - 'keras.metrics.cosine', - 'keras.losses.cosine_proximity', - 'keras.losses.cosine') +# Retaining the legacy namespaces: 'cosine_proximity' and 'cosine'. +# TODO(psv): Change name of this function to `cosine_similarity` after fixing +# estimator test. +@keras_export( + 'keras.losses.cosine_similarity', + v1=[ + 'keras.metrics.cosine_proximity', + 'keras.metrics.cosine', + 'keras.losses.cosine_proximity', + 'keras.losses.cosine', + 'keras.losses.cosine_similarity', + ]) def cosine_proximity(y_true, y_pred, axis=-1): + """Computes the cosine similarity between labels and predictions.""" y_true = nn.l2_normalize(y_true, axis=axis) y_pred = nn.l2_normalize(y_pred, axis=axis) - return -math_ops.reduce_sum(y_true * y_pred, axis=axis) + return math_ops.reduce_sum(y_true * y_pred, axis=axis) -@keras_export('keras.losses.CosineProximity') -class CosineProximity(Loss): - """Computes the cosine proximity between `y_true` and `y_pred`. +@keras_export('keras.losses.CosineSimilarity') +class CosineSimilarity(LossFunctionWrapper): + """Computes the cosine similarity between `y_true` and `y_pred`. Usage: ```python - cosine_loss = tf.keras.losses.CosineProximity() - loss = cosine_loss([0., 1., 1.], [1., 0., 1.]) - print('Loss: ', loss.numpy()) # Loss: -0.5 + cosine_loss = tf.keras.losses.CosineSimilarity(axis=1) + loss = cosine_loss([[0., 1.], [1., 1.]], [[1., 0.], [1., 1.]]) + # l2_norm(y_true) = [[0., 1.], [1./1.414], 1./1.414]]] + # l2_norm(y_pred) = [[1., 0.], [1./1.414], 1./1.414]]] + # l2_norm(y_true) . l2_norm(y_pred) = [[0., 0.], [0.5, 0.5]] + # loss = mean(sum(l2_norm(y_true) . l2_norm(y_pred), axis=1)) + = ((0. + 0.) + (0.5 + 0.5)) / 2 + + print('Loss: ', loss.numpy()) # Loss: 0.5 ``` Usage with tf.keras API: ```python model = tf.keras.Model(inputs, outputs) - model.compile('sgd', loss=tf.keras.losses.CosineProximity()) + model.compile('sgd', loss=tf.keras.losses.CosineSimilarity(axis=1)) ``` Args: axis: (Optional) Defaults to -1. The dimension along which the cosine - proximity is computed. + similarity is computed. reduction: (Optional) Type of `tf.keras.losses.Reduction` to apply to loss. Default value is `SUM_OVER_BATCH_SIZE`. name: Optional name for the op. @@ -983,23 +998,9 @@ class CosineProximity(Loss): def __init__(self, axis=-1, reduction=losses_utils.ReductionV2.SUM_OVER_BATCH_SIZE, - name=None): - super(CosineProximity, self).__init__(reduction=reduction, name=name) - self.axis = axis - - def call(self, y_true, y_pred): - """Calculates the cosine proximity loss. - - Args: - y_true: Ground truth values. - y_pred: The predicted values. - - Returns: - Cosine distance loss. - """ - y_pred = ops.convert_to_tensor(y_pred) - y_true = math_ops.cast(y_true, y_pred.dtype) - return cosine_proximity(y_true, y_pred, axis=self.axis) + name='cosine_similarity'): + super(CosineSimilarity, self).__init__( + cosine_similarity, reduction=reduction, name=name, axis=axis) # Aliases. @@ -1009,7 +1010,7 @@ mae = MAE = mean_absolute_error mape = MAPE = mean_absolute_percentage_error msle = MSLE = mean_squared_logarithmic_error kld = KLD = kullback_leibler_divergence -cosine = cosine_proximity +cosine_similarity = cosine_proximity def is_categorical_crossentropy(loss): diff --git a/tensorflow/python/keras/losses_test.py b/tensorflow/python/keras/losses_test.py index 48e4b68fc91..6fe68335e85 100644 --- a/tensorflow/python/keras/losses_test.py +++ b/tensorflow/python/keras/losses_test.py @@ -45,7 +45,7 @@ ALL_LOSSES = [keras.losses.mean_squared_error, keras.losses.binary_crossentropy, keras.losses.kullback_leibler_divergence, keras.losses.poisson, - keras.losses.cosine_proximity, + keras.losses.cosine_similarity, keras.losses.logcosh, keras.losses.categorical_hinge] @@ -501,7 +501,7 @@ class MeanSquaredLogarithmicErrorTest(test.TestCase): @test_util.run_all_in_graph_and_eager_modes -class CosineProximityTest(test.TestCase): +class CosineSimilarityTest(test.TestCase): def l2_norm(self, x, axis): epsilon = 1e-12 @@ -515,28 +515,27 @@ class CosineProximityTest(test.TestCase): y_true = self.l2_norm(self.np_y_true, axis) y_pred = self.l2_norm(self.np_y_pred, axis) - self.expected_loss = -np.sum(np.multiply(y_true, y_pred), axis=(axis,)) + self.expected_loss = np.sum(np.multiply(y_true, y_pred), axis=(axis,)) self.y_true = constant_op.constant(self.np_y_true) self.y_pred = constant_op.constant(self.np_y_pred) def test_config(self): - cosine_obj = keras.losses.CosineProximity( + cosine_obj = keras.losses.CosineSimilarity( axis=2, reduction=losses_utils.ReductionV2.SUM, name='cosine_loss') self.assertEqual(cosine_obj.name, 'cosine_loss') self.assertEqual(cosine_obj.reduction, losses_utils.ReductionV2.SUM) - self.assertEqual(cosine_obj.axis, 2) def test_unweighted(self): self.setup() - cosine_obj = keras.losses.CosineProximity() + cosine_obj = keras.losses.CosineSimilarity() loss = cosine_obj(self.y_true, self.y_pred) expected_loss = np.mean(self.expected_loss) self.assertAlmostEqual(self.evaluate(loss), expected_loss, 3) def test_scalar_weighted(self): self.setup() - cosine_obj = keras.losses.CosineProximity() + cosine_obj = keras.losses.CosineSimilarity() sample_weight = 2.3 loss = cosine_obj(self.y_true, self.y_pred, sample_weight=sample_weight) expected_loss = np.mean(self.expected_loss * sample_weight) @@ -544,7 +543,7 @@ class CosineProximityTest(test.TestCase): def test_sample_weighted(self): self.setup() - cosine_obj = keras.losses.CosineProximity() + cosine_obj = keras.losses.CosineSimilarity() sample_weight = np.asarray([1.2, 3.4]) loss = cosine_obj( self.y_true, @@ -555,14 +554,14 @@ class CosineProximityTest(test.TestCase): def test_timestep_weighted(self): self.setup() - cosine_obj = keras.losses.CosineProximity() + cosine_obj = keras.losses.CosineSimilarity() np_y_true = self.np_y_true.reshape((2, 3, 1)) np_y_pred = self.np_y_pred.reshape((2, 3, 1)) sample_weight = np.asarray([3, 6, 5, 0, 4, 2]).reshape((2, 3)) y_true = self.l2_norm(np_y_true, 2) y_pred = self.l2_norm(np_y_pred, 2) - expected_loss = -np.sum(np.multiply(y_true, y_pred), axis=(2,)) + expected_loss = np.sum(np.multiply(y_true, y_pred), axis=(2,)) y_true = constant_op.constant(np_y_true) y_pred = constant_op.constant(np_y_pred) @@ -574,13 +573,13 @@ class CosineProximityTest(test.TestCase): def test_zero_weighted(self): self.setup() - cosine_obj = keras.losses.CosineProximity() + cosine_obj = keras.losses.CosineSimilarity() loss = cosine_obj(self.y_true, self.y_pred, sample_weight=0) self.assertAlmostEqual(self.evaluate(loss), 0., 3) def test_axis(self): self.setup(axis=1) - cosine_obj = keras.losses.CosineProximity(axis=1) + cosine_obj = keras.losses.CosineSimilarity(axis=1) loss = cosine_obj(self.y_true, self.y_pred) expected_loss = np.mean(self.expected_loss) self.assertAlmostEqual(self.evaluate(loss), expected_loss, 3) diff --git a/tensorflow/python/keras/metrics.py b/tensorflow/python/keras/metrics.py index 9ceb03395fe..b0b4a8dfb9d 100644 --- a/tensorflow/python/keras/metrics.py +++ b/tensorflow/python/keras/metrics.py @@ -34,7 +34,7 @@ from tensorflow.python.keras.engine.base_layer import Layer from tensorflow.python.keras.losses import binary_crossentropy from tensorflow.python.keras.losses import categorical_crossentropy from tensorflow.python.keras.losses import categorical_hinge -from tensorflow.python.keras.losses import cosine_proximity +from tensorflow.python.keras.losses import cosine_similarity from tensorflow.python.keras.losses import hinge from tensorflow.python.keras.losses import kullback_leibler_divergence from tensorflow.python.keras.losses import logcosh @@ -1818,21 +1818,30 @@ class AUC(Metric): return dict(list(base_config.items()) + list(config.items())) -@keras_export('keras.metrics.CosineProximity') -class CosineProximity(MeanMetricWrapper): - """Computes the cosine distance between the labels and predictions. +@keras_export('keras.metrics.CosineSimilarity') +class CosineSimilarity(MeanMetricWrapper): + """Computes the cosine similarity between the labels and predictions. + + cosine similarity = (a . b) / ||a|| ||b|| + (https://en.wikipedia.org/wiki/Cosine_similarity) For example, if `y_true` is [0, 1, 1], and `y_pred` is [1, 0, 1], the cosine - proximity is -0.5. + similarity is 0.5. - This metric keeps the average cosine distance between `predictions` and + This metric keeps the average cosine similarity between `predictions` and `labels` over a stream of data. Usage: ```python - m = tf.keras.metrics.CosineProximity() - m.update_state([0, 1, 1], [1, 0, 1]) - print('Final result: ', m.result().numpy()) # Final result: -0.5 + m = tf.keras.metrics.CosineSimilarity(axis=1) + m.update_state([[0., 1.], [1., 1.]], [[1., 0.], [1., 1.]]) + # l2_norm(y_true) = [[0., 1.], [1./1.414], 1./1.414]]] + # l2_norm(y_pred) = [[1., 0.], [1./1.414], 1./1.414]]] + # l2_norm(y_true) . l2_norm(y_pred) = [[0., 0.], [0.5, 0.5]] + # result = mean(sum(l2_norm(y_true) . l2_norm(y_pred), axis=1)) + = ((0. + 0.) + (0.5 + 0.5)) / 2 + + print('Final result: ', m.result().numpy()) # Final result: 0.5 ``` Usage with tf.keras API: @@ -1842,20 +1851,21 @@ class CosineProximity(MeanMetricWrapper): model.compile( 'sgd', loss='mse', - metrics=[tf.keras.metrics.CosineProximity()]) + metrics=[tf.keras.metrics.CosineSimilarity(axis=1)]) ``` """ - def __init__(self, name='cosine_proximity', dtype=None, axis=-1): - """Creates a `CosineProximity` instance. + def __init__(self, name='cosine_similarity', dtype=None, axis=-1): + """Creates a `CosineSimilarity` instance. Args: name: (Optional) string name of the metric instance. dtype: (Optional) data type of the metric result. axis: (Optional) Defaults to -1. The dimension along which the cosine - proximity is computed. + similarity is computed. """ - super(CosineProximity, self).__init__(cosine, name, dtype=dtype, axis=axis) + super(CosineSimilarity, self).__init__( + cosine_similarity, name, dtype=dtype, axis=axis) @keras_export('keras.metrics.MeanAbsoluteError') @@ -2744,7 +2754,7 @@ mse = MSE = mean_squared_error mae = MAE = mean_absolute_error mape = MAPE = mean_absolute_percentage_error msle = MSLE = mean_squared_logarithmic_error -cosine = cosine_proximity +cosine_proximity = cosine_similarity def clone_metric(metric): diff --git a/tensorflow/python/keras/metrics_test.py b/tensorflow/python/keras/metrics_test.py index 274b0a5e103..ffe093532a4 100644 --- a/tensorflow/python/keras/metrics_test.py +++ b/tensorflow/python/keras/metrics_test.py @@ -453,7 +453,7 @@ class KerasAccuracyTest(test.TestCase): @test_util.run_all_in_graph_and_eager_modes -class CosineProximityTest(test.TestCase): +class CosineSimilarityTest(test.TestCase): def l2_norm(self, x, axis): epsilon = 1e-12 @@ -467,25 +467,25 @@ class CosineProximityTest(test.TestCase): y_true = self.l2_norm(self.np_y_true, axis) y_pred = self.l2_norm(self.np_y_pred, axis) - self.expected_loss = -np.sum(np.multiply(y_true, y_pred), axis=(axis,)) + self.expected_loss = np.sum(np.multiply(y_true, y_pred), axis=(axis,)) self.y_true = constant_op.constant(self.np_y_true) self.y_pred = constant_op.constant(self.np_y_pred) def test_config(self): - cosine_obj = metrics.CosineProximity( + cosine_obj = metrics.CosineSimilarity( axis=2, name='my_cos', dtype=dtypes.int32) self.assertEqual(cosine_obj.name, 'my_cos') self.assertEqual(cosine_obj._dtype, dtypes.int32) # Check save and restore config - cosine_obj2 = metrics.CosineProximity.from_config(cosine_obj.get_config()) + cosine_obj2 = metrics.CosineSimilarity.from_config(cosine_obj.get_config()) self.assertEqual(cosine_obj2.name, 'my_cos') self.assertEqual(cosine_obj2._dtype, dtypes.int32) def test_unweighted(self): self.setup() - cosine_obj = metrics.CosineProximity() + cosine_obj = metrics.CosineSimilarity() self.evaluate(variables.variables_initializer(cosine_obj.variables)) loss = cosine_obj(self.y_true, self.y_pred) expected_loss = np.mean(self.expected_loss) @@ -493,7 +493,7 @@ class CosineProximityTest(test.TestCase): def test_weighted(self): self.setup() - cosine_obj = metrics.CosineProximity() + cosine_obj = metrics.CosineSimilarity() self.evaluate(variables.variables_initializer(cosine_obj.variables)) sample_weight = np.asarray([1.2, 3.4]) loss = cosine_obj( @@ -506,7 +506,7 @@ class CosineProximityTest(test.TestCase): def test_axis(self): self.setup(axis=1) - cosine_obj = metrics.CosineProximity(axis=1) + cosine_obj = metrics.CosineSimilarity(axis=1) self.evaluate(variables.variables_initializer(cosine_obj.variables)) loss = cosine_obj(self.y_true, self.y_pred) expected_loss = np.mean(self.expected_loss) diff --git a/tensorflow/tools/api/golden/v2/tensorflow.losses.-cosine-proximity.pbtxt b/tensorflow/tools/api/golden/v1/tensorflow.keras.losses.-cosine-similarity.pbtxt similarity index 73% rename from tensorflow/tools/api/golden/v2/tensorflow.losses.-cosine-proximity.pbtxt rename to tensorflow/tools/api/golden/v1/tensorflow.keras.losses.-cosine-similarity.pbtxt index 3ec290213d9..aa14c44fa36 100644 --- a/tensorflow/tools/api/golden/v2/tensorflow.losses.-cosine-proximity.pbtxt +++ b/tensorflow/tools/api/golden/v1/tensorflow.keras.losses.-cosine-similarity.pbtxt @@ -1,11 +1,12 @@ -path: "tensorflow.losses.CosineProximity" +path: "tensorflow.keras.losses.CosineSimilarity" tf_class { - is_instance: "" + is_instance: "" + is_instance: "" is_instance: "" is_instance: "" member_method { name: "__init__" - argspec: "args=[\'self\', \'axis\', \'reduction\', \'name\'], varargs=None, keywords=None, defaults=[\'-1\', \'sum_over_batch_size\', \'None\'], " + argspec: "args=[\'self\', \'axis\', \'reduction\', \'name\'], varargs=None, keywords=None, defaults=[\'-1\', \'sum_over_batch_size\', \'cosine_similarity\'], " } member_method { name: "call" diff --git a/tensorflow/tools/api/golden/v1/tensorflow.keras.losses.pbtxt b/tensorflow/tools/api/golden/v1/tensorflow.keras.losses.pbtxt index 4240ff69a5e..7e90b36ead9 100644 --- a/tensorflow/tools/api/golden/v1/tensorflow.keras.losses.pbtxt +++ b/tensorflow/tools/api/golden/v1/tensorflow.keras.losses.pbtxt @@ -13,7 +13,7 @@ tf_module { mtype: "" } member { - name: "CosineProximity" + name: "CosineSimilarity" mtype: "" } member { @@ -108,6 +108,10 @@ tf_module { name: "cosine_proximity" argspec: "args=[\'y_true\', \'y_pred\', \'axis\'], varargs=None, keywords=None, defaults=[\'-1\'], " } + member_method { + name: "cosine_similarity" + argspec: "args=[\'y_true\', \'y_pred\', \'axis\'], varargs=None, keywords=None, defaults=[\'-1\'], " + } member_method { name: "deserialize" argspec: "args=[\'name\', \'custom_objects\'], varargs=None, keywords=None, defaults=[\'None\'], " diff --git a/tensorflow/tools/api/golden/v1/tensorflow.keras.metrics.-cosine-proximity.pbtxt b/tensorflow/tools/api/golden/v1/tensorflow.keras.metrics.-cosine-similarity.pbtxt similarity index 96% rename from tensorflow/tools/api/golden/v1/tensorflow.keras.metrics.-cosine-proximity.pbtxt rename to tensorflow/tools/api/golden/v1/tensorflow.keras.metrics.-cosine-similarity.pbtxt index b247e5cf39c..678c7b0681f 100644 --- a/tensorflow/tools/api/golden/v1/tensorflow.keras.metrics.-cosine-proximity.pbtxt +++ b/tensorflow/tools/api/golden/v1/tensorflow.keras.metrics.-cosine-similarity.pbtxt @@ -1,6 +1,6 @@ -path: "tensorflow.keras.metrics.CosineProximity" +path: "tensorflow.keras.metrics.CosineSimilarity" tf_class { - is_instance: "" + is_instance: "" is_instance: "" is_instance: "" is_instance: "" @@ -90,7 +90,7 @@ tf_class { } member_method { name: "__init__" - argspec: "args=[\'self\', \'name\', \'dtype\', \'axis\'], varargs=None, keywords=None, defaults=[\'cosine_proximity\', \'None\', \'-1\'], " + argspec: "args=[\'self\', \'name\', \'dtype\', \'axis\'], varargs=None, keywords=None, defaults=[\'cosine_similarity\', \'None\', \'-1\'], " } member_method { name: "add_loss" diff --git a/tensorflow/tools/api/golden/v1/tensorflow.keras.metrics.pbtxt b/tensorflow/tools/api/golden/v1/tensorflow.keras.metrics.pbtxt index 92dddacf2cc..3f7fe4a2f40 100644 --- a/tensorflow/tools/api/golden/v1/tensorflow.keras.metrics.pbtxt +++ b/tensorflow/tools/api/golden/v1/tensorflow.keras.metrics.pbtxt @@ -29,7 +29,7 @@ tf_module { mtype: "" } member { - name: "CosineProximity" + name: "CosineSimilarity" mtype: "" } member { diff --git a/tensorflow/tools/api/golden/v2/tensorflow.keras.losses.-cosine-proximity.pbtxt b/tensorflow/tools/api/golden/v2/tensorflow.keras.losses.-cosine-similarity.pbtxt similarity index 73% rename from tensorflow/tools/api/golden/v2/tensorflow.keras.losses.-cosine-proximity.pbtxt rename to tensorflow/tools/api/golden/v2/tensorflow.keras.losses.-cosine-similarity.pbtxt index 4952a76291c..aa14c44fa36 100644 --- a/tensorflow/tools/api/golden/v2/tensorflow.keras.losses.-cosine-proximity.pbtxt +++ b/tensorflow/tools/api/golden/v2/tensorflow.keras.losses.-cosine-similarity.pbtxt @@ -1,11 +1,12 @@ -path: "tensorflow.keras.losses.CosineProximity" +path: "tensorflow.keras.losses.CosineSimilarity" tf_class { - is_instance: "" + is_instance: "" + is_instance: "" is_instance: "" is_instance: "" member_method { name: "__init__" - argspec: "args=[\'self\', \'axis\', \'reduction\', \'name\'], varargs=None, keywords=None, defaults=[\'-1\', \'sum_over_batch_size\', \'None\'], " + argspec: "args=[\'self\', \'axis\', \'reduction\', \'name\'], varargs=None, keywords=None, defaults=[\'-1\', \'sum_over_batch_size\', \'cosine_similarity\'], " } member_method { name: "call" diff --git a/tensorflow/tools/api/golden/v2/tensorflow.keras.losses.pbtxt b/tensorflow/tools/api/golden/v2/tensorflow.keras.losses.pbtxt index af9d3c12e30..4ec0e887fc0 100644 --- a/tensorflow/tools/api/golden/v2/tensorflow.keras.losses.pbtxt +++ b/tensorflow/tools/api/golden/v2/tensorflow.keras.losses.pbtxt @@ -13,7 +13,7 @@ tf_module { mtype: "" } member { - name: "CosineProximity" + name: "CosineSimilarity" mtype: "" } member { @@ -105,11 +105,7 @@ tf_module { argspec: "args=[\'y_true\', \'y_pred\'], varargs=None, keywords=None, defaults=None" } member_method { - name: "cosine" - argspec: "args=[\'y_true\', \'y_pred\', \'axis\'], varargs=None, keywords=None, defaults=[\'-1\'], " - } - member_method { - name: "cosine_proximity" + name: "cosine_similarity" argspec: "args=[\'y_true\', \'y_pred\', \'axis\'], varargs=None, keywords=None, defaults=[\'-1\'], " } member_method { diff --git a/tensorflow/tools/api/golden/v2/tensorflow.keras.metrics.-cosine-proximity.pbtxt b/tensorflow/tools/api/golden/v2/tensorflow.keras.metrics.-cosine-similarity.pbtxt similarity index 96% rename from tensorflow/tools/api/golden/v2/tensorflow.keras.metrics.-cosine-proximity.pbtxt rename to tensorflow/tools/api/golden/v2/tensorflow.keras.metrics.-cosine-similarity.pbtxt index b247e5cf39c..678c7b0681f 100644 --- a/tensorflow/tools/api/golden/v2/tensorflow.keras.metrics.-cosine-proximity.pbtxt +++ b/tensorflow/tools/api/golden/v2/tensorflow.keras.metrics.-cosine-similarity.pbtxt @@ -1,6 +1,6 @@ -path: "tensorflow.keras.metrics.CosineProximity" +path: "tensorflow.keras.metrics.CosineSimilarity" tf_class { - is_instance: "" + is_instance: "" is_instance: "" is_instance: "" is_instance: "" @@ -90,7 +90,7 @@ tf_class { } member_method { name: "__init__" - argspec: "args=[\'self\', \'name\', \'dtype\', \'axis\'], varargs=None, keywords=None, defaults=[\'cosine_proximity\', \'None\', \'-1\'], " + argspec: "args=[\'self\', \'name\', \'dtype\', \'axis\'], varargs=None, keywords=None, defaults=[\'cosine_similarity\', \'None\', \'-1\'], " } member_method { name: "add_loss" diff --git a/tensorflow/tools/api/golden/v2/tensorflow.keras.metrics.pbtxt b/tensorflow/tools/api/golden/v2/tensorflow.keras.metrics.pbtxt index 92dddacf2cc..71e89765cb8 100644 --- a/tensorflow/tools/api/golden/v2/tensorflow.keras.metrics.pbtxt +++ b/tensorflow/tools/api/golden/v2/tensorflow.keras.metrics.pbtxt @@ -29,7 +29,7 @@ tf_module { mtype: "" } member { - name: "CosineProximity" + name: "CosineSimilarity" mtype: "" } member { @@ -180,14 +180,6 @@ tf_module { name: "categorical_crossentropy" argspec: "args=[\'y_true\', \'y_pred\', \'from_logits\', \'label_smoothing\'], varargs=None, keywords=None, defaults=[\'False\', \'0\'], " } - member_method { - name: "cosine" - argspec: "args=[\'y_true\', \'y_pred\', \'axis\'], varargs=None, keywords=None, defaults=[\'-1\'], " - } - member_method { - name: "cosine_proximity" - argspec: "args=[\'y_true\', \'y_pred\', \'axis\'], varargs=None, keywords=None, defaults=[\'-1\'], " - } member_method { name: "deserialize" argspec: "args=[\'config\', \'custom_objects\'], varargs=None, keywords=None, defaults=[\'None\'], " diff --git a/tensorflow/tools/api/golden/v1/tensorflow.keras.losses.-cosine-proximity.pbtxt b/tensorflow/tools/api/golden/v2/tensorflow.losses.-cosine-similarity.pbtxt similarity index 74% rename from tensorflow/tools/api/golden/v1/tensorflow.keras.losses.-cosine-proximity.pbtxt rename to tensorflow/tools/api/golden/v2/tensorflow.losses.-cosine-similarity.pbtxt index 4952a76291c..7829f0f327b 100644 --- a/tensorflow/tools/api/golden/v1/tensorflow.keras.losses.-cosine-proximity.pbtxt +++ b/tensorflow/tools/api/golden/v2/tensorflow.losses.-cosine-similarity.pbtxt @@ -1,11 +1,12 @@ -path: "tensorflow.keras.losses.CosineProximity" +path: "tensorflow.losses.CosineSimilarity" tf_class { - is_instance: "" + is_instance: "" + is_instance: "" is_instance: "" is_instance: "" member_method { name: "__init__" - argspec: "args=[\'self\', \'axis\', \'reduction\', \'name\'], varargs=None, keywords=None, defaults=[\'-1\', \'sum_over_batch_size\', \'None\'], " + argspec: "args=[\'self\', \'axis\', \'reduction\', \'name\'], varargs=None, keywords=None, defaults=[\'-1\', \'sum_over_batch_size\', \'cosine_similarity\'], " } member_method { name: "call" diff --git a/tensorflow/tools/api/golden/v2/tensorflow.losses.pbtxt b/tensorflow/tools/api/golden/v2/tensorflow.losses.pbtxt index d9067345426..f688a32db7a 100644 --- a/tensorflow/tools/api/golden/v2/tensorflow.losses.pbtxt +++ b/tensorflow/tools/api/golden/v2/tensorflow.losses.pbtxt @@ -13,7 +13,7 @@ tf_module { mtype: "" } member { - name: "CosineProximity" + name: "CosineSimilarity" mtype: "" } member { @@ -105,11 +105,7 @@ tf_module { argspec: "args=[\'y_true\', \'y_pred\'], varargs=None, keywords=None, defaults=None" } member_method { - name: "cosine" - argspec: "args=[\'y_true\', \'y_pred\', \'axis\'], varargs=None, keywords=None, defaults=[\'-1\'], " - } - member_method { - name: "cosine_proximity" + name: "cosine_similarity" argspec: "args=[\'y_true\', \'y_pred\', \'axis\'], varargs=None, keywords=None, defaults=[\'-1\'], " } member_method { diff --git a/tensorflow/tools/api/golden/v2/tensorflow.metrics.-cosine-proximity.pbtxt b/tensorflow/tools/api/golden/v2/tensorflow.metrics.-cosine-similarity.pbtxt similarity index 96% rename from tensorflow/tools/api/golden/v2/tensorflow.metrics.-cosine-proximity.pbtxt rename to tensorflow/tools/api/golden/v2/tensorflow.metrics.-cosine-similarity.pbtxt index 329d64f2882..326df8fcc2a 100644 --- a/tensorflow/tools/api/golden/v2/tensorflow.metrics.-cosine-proximity.pbtxt +++ b/tensorflow/tools/api/golden/v2/tensorflow.metrics.-cosine-similarity.pbtxt @@ -1,6 +1,6 @@ -path: "tensorflow.metrics.CosineProximity" +path: "tensorflow.metrics.CosineSimilarity" tf_class { - is_instance: "" + is_instance: "" is_instance: "" is_instance: "" is_instance: "" @@ -90,7 +90,7 @@ tf_class { } member_method { name: "__init__" - argspec: "args=[\'self\', \'name\', \'dtype\', \'axis\'], varargs=None, keywords=None, defaults=[\'cosine_proximity\', \'None\', \'-1\'], " + argspec: "args=[\'self\', \'name\', \'dtype\', \'axis\'], varargs=None, keywords=None, defaults=[\'cosine_similarity\', \'None\', \'-1\'], " } member_method { name: "add_loss" diff --git a/tensorflow/tools/api/golden/v2/tensorflow.metrics.pbtxt b/tensorflow/tools/api/golden/v2/tensorflow.metrics.pbtxt index 639186a979e..4ae997c6bd4 100644 --- a/tensorflow/tools/api/golden/v2/tensorflow.metrics.pbtxt +++ b/tensorflow/tools/api/golden/v2/tensorflow.metrics.pbtxt @@ -29,7 +29,7 @@ tf_module { mtype: "" } member { - name: "CosineProximity" + name: "CosineSimilarity" mtype: "" } member { @@ -180,14 +180,6 @@ tf_module { name: "categorical_crossentropy" argspec: "args=[\'y_true\', \'y_pred\', \'from_logits\', \'label_smoothing\'], varargs=None, keywords=None, defaults=[\'False\', \'0\'], " } - member_method { - name: "cosine" - argspec: "args=[\'y_true\', \'y_pred\', \'axis\'], varargs=None, keywords=None, defaults=[\'-1\'], " - } - member_method { - name: "cosine_proximity" - argspec: "args=[\'y_true\', \'y_pred\', \'axis\'], varargs=None, keywords=None, defaults=[\'-1\'], " - } member_method { name: "deserialize" argspec: "args=[\'config\', \'custom_objects\'], varargs=None, keywords=None, defaults=[\'None\'], "