From 4b4bf4223d50cb28da44f081722520889b72583e Mon Sep 17 00:00:00 2001 From: Srinivas Vasudevan Date: Mon, 25 Nov 2019 15:16:30 -0800 Subject: [PATCH] Add Condition number method to LinearOperator. PiperOrigin-RevId: 282443598 Change-Id: If96b0be1cb74bbf157dbb843349eec907a022798 --- .../linalg/linear_operator_circulant_test.py | 4 ++ .../linear_operator_composition_test.py | 12 ++--- .../linear_operator_full_matrix_test.py | 5 +- .../linalg/linear_operator_zeros_test.py | 13 ++++- .../python/ops/linalg/linear_operator.py | 25 ++++++++++ .../ops/linalg/linear_operator_adjoint.py | 3 ++ .../python/ops/linalg/linear_operator_diag.py | 11 ++-- .../ops/linalg/linear_operator_householder.py | 4 ++ .../ops/linalg/linear_operator_identity.py | 11 ++++ .../ops/linalg/linear_operator_inversion.py | 3 ++ .../ops/linalg/linear_operator_permutation.py | 4 ++ .../ops/linalg/linear_operator_test_util.py | 50 ++++++++++++++++++- ...flow.linalg.-linear-operator-adjoint.pbtxt | 4 ++ ...w.linalg.-linear-operator-block-diag.pbtxt | 4 ++ ...ow.linalg.-linear-operator-circulant.pbtxt | 4 ++ ...linalg.-linear-operator-circulant2-d.pbtxt | 4 ++ ...linalg.-linear-operator-circulant3-d.pbtxt | 4 ++ ....linalg.-linear-operator-composition.pbtxt | 4 ++ ...sorflow.linalg.-linear-operator-diag.pbtxt | 4 ++ ....linalg.-linear-operator-full-matrix.pbtxt | 4 ++ ....linalg.-linear-operator-householder.pbtxt | 4 ++ ...low.linalg.-linear-operator-identity.pbtxt | 4 ++ ...ow.linalg.-linear-operator-inversion.pbtxt | 4 ++ ...ow.linalg.-linear-operator-kronecker.pbtxt | 4 ++ ...alg.-linear-operator-low-rank-update.pbtxt | 4 ++ ...lg.-linear-operator-lower-triangular.pbtxt | 4 ++ ....linalg.-linear-operator-permutation.pbtxt | 4 ++ ...alg.-linear-operator-scaled-identity.pbtxt | 4 ++ ...low.linalg.-linear-operator-toeplitz.pbtxt | 4 ++ ...orflow.linalg.-linear-operator-zeros.pbtxt | 4 ++ .../tensorflow.linalg.-linear-operator.pbtxt | 4 ++ ...flow.linalg.-linear-operator-adjoint.pbtxt | 4 ++ ...w.linalg.-linear-operator-block-diag.pbtxt | 4 ++ ...ow.linalg.-linear-operator-circulant.pbtxt | 4 ++ ...linalg.-linear-operator-circulant2-d.pbtxt | 4 ++ ...linalg.-linear-operator-circulant3-d.pbtxt | 4 ++ ....linalg.-linear-operator-composition.pbtxt | 4 ++ ...sorflow.linalg.-linear-operator-diag.pbtxt | 4 ++ ....linalg.-linear-operator-full-matrix.pbtxt | 4 ++ ....linalg.-linear-operator-householder.pbtxt | 4 ++ ...low.linalg.-linear-operator-identity.pbtxt | 4 ++ ...ow.linalg.-linear-operator-inversion.pbtxt | 4 ++ ...ow.linalg.-linear-operator-kronecker.pbtxt | 4 ++ ...alg.-linear-operator-low-rank-update.pbtxt | 4 ++ ...lg.-linear-operator-lower-triangular.pbtxt | 4 ++ ....linalg.-linear-operator-permutation.pbtxt | 4 ++ ...alg.-linear-operator-scaled-identity.pbtxt | 4 ++ ...low.linalg.-linear-operator-toeplitz.pbtxt | 4 ++ ...orflow.linalg.-linear-operator-zeros.pbtxt | 4 ++ .../tensorflow.linalg.-linear-operator.pbtxt | 4 ++ 50 files changed, 281 insertions(+), 16 deletions(-) diff --git a/tensorflow/python/kernel_tests/linalg/linear_operator_circulant_test.py b/tensorflow/python/kernel_tests/linalg/linear_operator_circulant_test.py index ad9d652e656..810c47ba1e8 100644 --- a/tensorflow/python/kernel_tests/linalg/linear_operator_circulant_test.py +++ b/tensorflow/python/kernel_tests/linalg/linear_operator_circulant_test.py @@ -482,6 +482,10 @@ class LinearOperatorCirculant2DTestHermitianSpectrum( zero imaginary part. """ + @staticmethod + def skip_these_tests(): + return ["cond"] + def operator_and_matrix( self, shape_info, dtype, use_placeholder, ensure_self_adjoint_and_pd=False): diff --git a/tensorflow/python/kernel_tests/linalg/linear_operator_composition_test.py b/tensorflow/python/kernel_tests/linalg/linear_operator_composition_test.py index 0c146e8f618..edae1efb845 100644 --- a/tensorflow/python/kernel_tests/linalg/linear_operator_composition_test.py +++ b/tensorflow/python/kernel_tests/linalg/linear_operator_composition_test.py @@ -20,7 +20,6 @@ from __future__ import print_function import numpy as np from tensorflow.python.framework import dtypes -from tensorflow.python.framework import ops from tensorflow.python.framework import test_util from tensorflow.python.ops import array_ops from tensorflow.python.ops import math_ops @@ -151,15 +150,12 @@ class NonSquareLinearOperatorCompositionTest( self._rtol[dtypes.float32] = 1e-4 self._rtol[dtypes.complex64] = 1e-4 - def operator_and_matrix(self, build_info, dtype, use_placeholder): - sess = ops.get_default_session() + def operator_and_matrix( + self, build_info, dtype, use_placeholder, + ensure_self_adjoint_and_pd=False): + del ensure_self_adjoint_and_pd shape = list(build_info.shape) - # Test only the case of 2 matrices. - # The Square test uses either 1 or 2, so we have tested the case of 1 matrix - # sufficiently. - num_operators = 2 - # Create 2 matrices/operators, A1, A2, which becomes A = A1 A2. # Use inner dimension of 2. k = 2 diff --git a/tensorflow/python/kernel_tests/linalg/linear_operator_full_matrix_test.py b/tensorflow/python/kernel_tests/linalg/linear_operator_full_matrix_test.py index 55f12f5f5a2..a276c0887c3 100644 --- a/tensorflow/python/kernel_tests/linalg/linear_operator_full_matrix_test.py +++ b/tensorflow/python/kernel_tests/linalg/linear_operator_full_matrix_test.py @@ -222,7 +222,10 @@ class NonSquareLinearOperatorFullMatrixTest( linear_operator_test_util.NonSquareLinearOperatorDerivedClassTest): """Most tests done in the base class LinearOperatorDerivedClassTest.""" - def operator_and_matrix(self, build_info, dtype, use_placeholder): + def operator_and_matrix( + self, build_info, dtype, use_placeholder, + ensure_self_adjoint_and_pd=False): + del ensure_self_adjoint_and_pd shape = list(build_info.shape) matrix = linear_operator_test_util.random_normal(shape, dtype=dtype) diff --git a/tensorflow/python/kernel_tests/linalg/linear_operator_zeros_test.py b/tensorflow/python/kernel_tests/linalg/linear_operator_zeros_test.py index 086f5eeef3c..fa5c8e2cfc4 100644 --- a/tensorflow/python/kernel_tests/linalg/linear_operator_zeros_test.py +++ b/tensorflow/python/kernel_tests/linalg/linear_operator_zeros_test.py @@ -39,7 +39,13 @@ class LinearOperatorZerosTest( @staticmethod def skip_these_tests(): return [ - "cholesky", "log_abs_det", "inverse", "solve", "solve_with_broadcast"] + "cholesky", + "cond", + "inverse", + "log_abs_det", + "solve", + "solve_with_broadcast" + ] @staticmethod def operator_shapes_infos(): @@ -195,8 +201,11 @@ class LinearOperatorZerosTest( class LinearOperatorZerosNotSquareTest( linear_operator_test_util.NonSquareLinearOperatorDerivedClassTest): - def operator_and_matrix(self, build_info, dtype, use_placeholder): + def operator_and_matrix( + self, build_info, dtype, use_placeholder, + ensure_self_adjoint_and_pd=False): del use_placeholder + del ensure_self_adjoint_and_pd shape = list(build_info.shape) batch_shape = shape[:-2] diff --git a/tensorflow/python/ops/linalg/linear_operator.py b/tensorflow/python/ops/linalg/linear_operator.py index 2efa16ce62a..9e3ebf9fd78 100644 --- a/tensorflow/python/ops/linalg/linear_operator.py +++ b/tensorflow/python/ops/linalg/linear_operator.py @@ -1073,6 +1073,31 @@ class LinearOperator(module.Module): with self._name_scope(name): return self._eigvals() + def _cond(self): + if not self.is_self_adjoint: + # In general the condition number is the ratio of the + # absolute value of the largest and smallest singular values. + vals = linalg_ops.svd(self.to_dense(), compute_uv=False) + else: + # For self-adjoint matrices, and in general normal matrices, + # we can use eigenvalues. + vals = math_ops.abs(self._eigvals()) + + return (math_ops.reduce_max(vals, axis=-1) / + math_ops.reduce_min(vals, axis=-1)) + + def cond(self, name="cond"): + """Returns the condition number of this linear operator. + + Args: + name: A name for this `Op`. + + Returns: + Shape `[B1,...,Bb]` `Tensor` of same `dtype` as `self`. + """ + with self._name_scope(name): + return self._cond() + def _can_use_cholesky(self): return self.is_self_adjoint and self.is_positive_definite diff --git a/tensorflow/python/ops/linalg/linear_operator_adjoint.py b/tensorflow/python/ops/linalg/linear_operator_adjoint.py index eb5af872773..57c65647330 100644 --- a/tensorflow/python/ops/linalg/linear_operator_adjoint.py +++ b/tensorflow/python/ops/linalg/linear_operator_adjoint.py @@ -219,3 +219,6 @@ class LinearOperatorAdjoint(linear_operator.LinearOperator): if not self.operator.is_self_adjoint: eigvals = math_ops.conj(eigvals) return eigvals + + def _cond(self): + return self.operator.cond() diff --git a/tensorflow/python/ops/linalg/linear_operator_diag.py b/tensorflow/python/ops/linalg/linear_operator_diag.py index 3d2a47a05de..d51d6b81c5d 100644 --- a/tensorflow/python/ops/linalg/linear_operator_diag.py +++ b/tensorflow/python/ops/linalg/linear_operator_diag.py @@ -183,6 +183,10 @@ class LinearOperatorDiag(linear_operator.LinearOperator): k = d_shape[-1] return array_ops.concat((d_shape, [k]), 0) + @property + def diag(self): + return self._diag + def _assert_non_singular(self): return linear_operator_util.assert_no_entries_with_modulus_zero( self._diag, @@ -249,6 +253,7 @@ class LinearOperatorDiag(linear_operator.LinearOperator): def _eigvals(self): return ops.convert_to_tensor(self.diag) - @property - def diag(self): - return self._diag + def _cond(self): + abs_diag = math_ops.abs(self.diag) + return (math_ops.reduce_max(abs_diag, axis=-1) / + math_ops.reduce_min(abs_diag, axis=-1)) diff --git a/tensorflow/python/ops/linalg/linear_operator_householder.py b/tensorflow/python/ops/linalg/linear_operator_householder.py index 03a5e560a75..ae112bc3ea0 100644 --- a/tensorflow/python/ops/linalg/linear_operator_householder.py +++ b/tensorflow/python/ops/linalg/linear_operator_householder.py @@ -253,6 +253,10 @@ class LinearOperatorHouseholder(linear_operator.LinearOperator): [-array_ops.ones(shape=neg_shape, dtype=self.dtype), eigvals], axis=-1) return eigvals + def _cond(self): + # Householder matrices are rotations which have condition number 1. + return array_ops.ones(self.batch_shape_tensor(), dtype=self.dtype) + @property def reflection_axis(self): return self._reflection_axis diff --git a/tensorflow/python/ops/linalg/linear_operator_identity.py b/tensorflow/python/ops/linalg/linear_operator_identity.py index 58ce3ec70e3..8226e74bacd 100644 --- a/tensorflow/python/ops/linalg/linear_operator_identity.py +++ b/tensorflow/python/ops/linalg/linear_operator_identity.py @@ -402,6 +402,9 @@ class LinearOperatorIdentity(BaseLinearOperatorIdentity): def _eigvals(self): return self._ones_diag() + def _cond(self): + return array_ops.ones(self.batch_shape_tensor(), dtype=self.dtype) + def _check_num_rows_possibly_add_asserts(self): """Static check of init arg `num_rows`, possibly add asserts.""" # Possibly add asserts. @@ -730,6 +733,14 @@ class LinearOperatorScaledIdentity(BaseLinearOperatorIdentity): def _eigvals(self): return self._ones_diag() * self.multiplier[..., array_ops.newaxis] + def _cond(self): + # Condition number for a scalar time identity matrix is one, except when the + # scalar is zero. + return array_ops.where_v2( + math_ops.equal(self._multiplier, 0.), + math_ops.cast(np.nan, dtype=self.dtype), + math_ops.cast(1., dtype=self.dtype)) + @property def multiplier(self): """The [batch] scalar `Tensor`, `c` in `cI`.""" diff --git a/tensorflow/python/ops/linalg/linear_operator_inversion.py b/tensorflow/python/ops/linalg/linear_operator_inversion.py index deb0ed6f92b..d6527e7c6d5 100644 --- a/tensorflow/python/ops/linalg/linear_operator_inversion.py +++ b/tensorflow/python/ops/linalg/linear_operator_inversion.py @@ -201,3 +201,6 @@ class LinearOperatorInversion(linear_operator.LinearOperator): def _eigvals(self): return 1. / self.operator.eigvals() + + def _cond(self): + return self.operator.cond() diff --git a/tensorflow/python/ops/linalg/linear_operator_permutation.py b/tensorflow/python/ops/linalg/linear_operator_permutation.py index 1b9ce165770..b705f0a077d 100644 --- a/tensorflow/python/ops/linalg/linear_operator_permutation.py +++ b/tensorflow/python/ops/linalg/linear_operator_permutation.py @@ -242,6 +242,10 @@ class LinearOperatorPermutation(linear_operator.LinearOperator): math_ops.range(0, self._domain_dimension_tensor(perm)), perm), self.dtype) + def _cond(self): + # Permutation matrices are rotations which have condition number 1. + return array_ops.ones(self.batch_shape_tensor(), dtype=self.dtype) + @property def perm(self): return self._perm diff --git a/tensorflow/python/ops/linalg/linear_operator_test_util.py b/tensorflow/python/ops/linalg/linear_operator_test_util.py index 44a1dfde796..ae7b11778d4 100644 --- a/tensorflow/python/ops/linalg/linear_operator_test_util.py +++ b/tensorflow/python/ops/linalg/linear_operator_test_util.py @@ -425,6 +425,10 @@ def _test_eigvalsh(use_placeholder, shapes_info, dtype): # for comparison. op_eigvals = sort_ops.sort( math_ops.cast(operator.eigvals(), dtype=dtypes.float64), axis=-1) + if dtype.is_complex: + mat = math_ops.cast(mat, dtype=dtypes.complex128) + else: + mat = math_ops.cast(mat, dtype=dtypes.float64) mat_eigvals = sort_ops.sort( math_ops.cast( linalg_ops.self_adjoint_eigvals(mat), dtype=dtypes.float64), @@ -434,12 +438,53 @@ def _test_eigvalsh(use_placeholder, shapes_info, dtype): atol = self._atol[dtype] # pylint: disable=protected-access rtol = self._rtol[dtype] # pylint: disable=protected-access if dtype == dtypes.float32 or dtype == dtypes.complex64: - atol = 1e-4 - rtol = 1e-4 + atol = 2e-4 + rtol = 2e-4 self.assertAllClose(op_eigvals_v, mat_eigvals_v, atol=atol, rtol=rtol) return test_eigvalsh +def _test_cond(use_placeholder, shapes_info, dtype): + def test_cond(self): + with self.test_session(graph=ops.Graph()) as sess: + # svd does not work with zero dimensional matrices, so we'll + # skip + if 0 in shapes_info.shape[-2:]: + return + + sess.graph.seed = random_seed.DEFAULT_GRAPH_SEED + # Ensure self-adjoint and PD so we get finite condition numbers. + operator, mat = self.operator_and_matrix( + shapes_info, dtype, use_placeholder=use_placeholder, + ensure_self_adjoint_and_pd=True) + # Eigenvalues are real, so we'll cast these to float64 and sort + # for comparison. + op_cond = operator.cond() + s = math_ops.abs(linalg_ops.svd(mat, compute_uv=False)) + mat_cond = math_ops.reduce_max(s, axis=-1) / math_ops.reduce_min( + s, axis=-1) + op_cond_v, mat_cond_v = sess.run([op_cond, mat_cond]) + + atol_override = { + dtypes.float16: 1e-2, + dtypes.float32: 1e-3, + dtypes.float64: 1e-6, + dtypes.complex64: 1e-3, + dtypes.complex128: 1e-6, + } + rtol_override = { + dtypes.float16: 1e-2, + dtypes.float32: 1e-3, + dtypes.float64: 1e-4, + dtypes.complex64: 1e-3, + dtypes.complex128: 1e-6, + } + atol = atol_override[dtype] + rtol = rtol_override[dtype] + self.assertAllClose(op_cond_v, mat_cond_v, atol=atol, rtol=rtol) + return test_cond + + def _test_solve_base( self, use_placeholder, @@ -577,6 +622,7 @@ def add_tests(test_cls): test_name_dict = { "add_to_tensor": _test_add_to_tensor, "cholesky": _test_cholesky, + "cond": _test_cond, "det": _test_det, "diag_part": _test_diag_part, "eigvalsh": _test_eigvalsh, diff --git a/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-adjoint.pbtxt b/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-adjoint.pbtxt index a980ae4af03..d26bde73d6e 100644 --- a/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-adjoint.pbtxt +++ b/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-adjoint.pbtxt @@ -110,6 +110,10 @@ tf_class { name: "cholesky" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cholesky\'], " } + member_method { + name: "cond" + argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cond\'], " + } member_method { name: "determinant" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'det\'], " diff --git a/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-block-diag.pbtxt b/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-block-diag.pbtxt index 49612f4fa1a..4739f586002 100644 --- a/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-block-diag.pbtxt +++ b/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-block-diag.pbtxt @@ -110,6 +110,10 @@ tf_class { name: "cholesky" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cholesky\'], " } + member_method { + name: "cond" + argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cond\'], " + } member_method { name: "determinant" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'det\'], " diff --git a/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-circulant.pbtxt b/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-circulant.pbtxt index db74a97fb9b..7c3a62bb067 100644 --- a/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-circulant.pbtxt +++ b/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-circulant.pbtxt @@ -127,6 +127,10 @@ tf_class { name: "cholesky" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cholesky\'], " } + member_method { + name: "cond" + argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cond\'], " + } member_method { name: "convolution_kernel" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'convolution_kernel\'], " diff --git a/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-circulant2-d.pbtxt b/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-circulant2-d.pbtxt index 094a0005274..ca1ca3678a2 100644 --- a/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-circulant2-d.pbtxt +++ b/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-circulant2-d.pbtxt @@ -127,6 +127,10 @@ tf_class { name: "cholesky" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cholesky\'], " } + member_method { + name: "cond" + argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cond\'], " + } member_method { name: "convolution_kernel" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'convolution_kernel\'], " diff --git a/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-circulant3-d.pbtxt b/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-circulant3-d.pbtxt index 0f0d5675fcb..e91de61a7f5 100644 --- a/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-circulant3-d.pbtxt +++ b/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-circulant3-d.pbtxt @@ -127,6 +127,10 @@ tf_class { name: "cholesky" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cholesky\'], " } + member_method { + name: "cond" + argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cond\'], " + } member_method { name: "convolution_kernel" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'convolution_kernel\'], " diff --git a/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-composition.pbtxt b/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-composition.pbtxt index 8989d2cb790..14c5514be31 100644 --- a/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-composition.pbtxt +++ b/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-composition.pbtxt @@ -110,6 +110,10 @@ tf_class { name: "cholesky" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cholesky\'], " } + member_method { + name: "cond" + argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cond\'], " + } member_method { name: "determinant" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'det\'], " diff --git a/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-diag.pbtxt b/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-diag.pbtxt index 840b2383f8e..6198572ba4f 100644 --- a/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-diag.pbtxt +++ b/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-diag.pbtxt @@ -110,6 +110,10 @@ tf_class { name: "cholesky" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cholesky\'], " } + member_method { + name: "cond" + argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cond\'], " + } member_method { name: "determinant" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'det\'], " diff --git a/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-full-matrix.pbtxt b/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-full-matrix.pbtxt index c1fc511aa3a..9fe14ecc611 100644 --- a/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-full-matrix.pbtxt +++ b/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-full-matrix.pbtxt @@ -106,6 +106,10 @@ tf_class { name: "cholesky" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cholesky\'], " } + member_method { + name: "cond" + argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cond\'], " + } member_method { name: "determinant" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'det\'], " diff --git a/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-householder.pbtxt b/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-householder.pbtxt index 50234392fd4..b71cda0a1be 100644 --- a/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-householder.pbtxt +++ b/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-householder.pbtxt @@ -110,6 +110,10 @@ tf_class { name: "cholesky" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cholesky\'], " } + member_method { + name: "cond" + argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cond\'], " + } member_method { name: "determinant" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'det\'], " diff --git a/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-identity.pbtxt b/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-identity.pbtxt index 8cb65f7793a..e4051585a35 100644 --- a/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-identity.pbtxt +++ b/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-identity.pbtxt @@ -107,6 +107,10 @@ tf_class { name: "cholesky" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cholesky\'], " } + member_method { + name: "cond" + argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cond\'], " + } member_method { name: "determinant" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'det\'], " diff --git a/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-inversion.pbtxt b/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-inversion.pbtxt index 8db0d9bda86..ee9351e5bb4 100644 --- a/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-inversion.pbtxt +++ b/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-inversion.pbtxt @@ -110,6 +110,10 @@ tf_class { name: "cholesky" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cholesky\'], " } + member_method { + name: "cond" + argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cond\'], " + } member_method { name: "determinant" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'det\'], " diff --git a/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-kronecker.pbtxt b/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-kronecker.pbtxt index 3f0d83b70cc..3c5b3a8c3db 100644 --- a/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-kronecker.pbtxt +++ b/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-kronecker.pbtxt @@ -110,6 +110,10 @@ tf_class { name: "cholesky" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cholesky\'], " } + member_method { + name: "cond" + argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cond\'], " + } member_method { name: "determinant" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'det\'], " diff --git a/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-low-rank-update.pbtxt b/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-low-rank-update.pbtxt index c658d4ecd19..bf32f07455e 100644 --- a/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-low-rank-update.pbtxt +++ b/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-low-rank-update.pbtxt @@ -130,6 +130,10 @@ tf_class { name: "cholesky" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cholesky\'], " } + member_method { + name: "cond" + argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cond\'], " + } member_method { name: "determinant" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'det\'], " diff --git a/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-lower-triangular.pbtxt b/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-lower-triangular.pbtxt index e04609f94bc..2bf8383bc30 100644 --- a/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-lower-triangular.pbtxt +++ b/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-lower-triangular.pbtxt @@ -106,6 +106,10 @@ tf_class { name: "cholesky" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cholesky\'], " } + member_method { + name: "cond" + argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cond\'], " + } member_method { name: "determinant" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'det\'], " diff --git a/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-permutation.pbtxt b/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-permutation.pbtxt index d6e3958ae1e..321b7004109 100644 --- a/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-permutation.pbtxt +++ b/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-permutation.pbtxt @@ -110,6 +110,10 @@ tf_class { name: "cholesky" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cholesky\'], " } + member_method { + name: "cond" + argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cond\'], " + } member_method { name: "determinant" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'det\'], " diff --git a/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-scaled-identity.pbtxt b/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-scaled-identity.pbtxt index 8f64cb0fdd2..a8a7a06fb51 100644 --- a/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-scaled-identity.pbtxt +++ b/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-scaled-identity.pbtxt @@ -111,6 +111,10 @@ tf_class { name: "cholesky" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cholesky\'], " } + member_method { + name: "cond" + argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cond\'], " + } member_method { name: "determinant" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'det\'], " diff --git a/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-toeplitz.pbtxt b/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-toeplitz.pbtxt index e016f7761b8..15bae49eda0 100644 --- a/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-toeplitz.pbtxt +++ b/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-toeplitz.pbtxt @@ -114,6 +114,10 @@ tf_class { name: "cholesky" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cholesky\'], " } + member_method { + name: "cond" + argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cond\'], " + } member_method { name: "determinant" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'det\'], " diff --git a/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-zeros.pbtxt b/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-zeros.pbtxt index 2e1f54b2cf5..75777dc7745 100644 --- a/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-zeros.pbtxt +++ b/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator-zeros.pbtxt @@ -106,6 +106,10 @@ tf_class { name: "cholesky" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cholesky\'], " } + member_method { + name: "cond" + argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cond\'], " + } member_method { name: "determinant" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'det\'], " diff --git a/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator.pbtxt b/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator.pbtxt index 8a5602d5a9d..2390fb26d9c 100644 --- a/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator.pbtxt +++ b/tensorflow/tools/api/golden/v1/tensorflow.linalg.-linear-operator.pbtxt @@ -105,6 +105,10 @@ tf_class { name: "cholesky" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cholesky\'], " } + member_method { + name: "cond" + argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cond\'], " + } member_method { name: "determinant" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'det\'], " diff --git a/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-adjoint.pbtxt b/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-adjoint.pbtxt index a980ae4af03..d26bde73d6e 100644 --- a/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-adjoint.pbtxt +++ b/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-adjoint.pbtxt @@ -110,6 +110,10 @@ tf_class { name: "cholesky" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cholesky\'], " } + member_method { + name: "cond" + argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cond\'], " + } member_method { name: "determinant" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'det\'], " diff --git a/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-block-diag.pbtxt b/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-block-diag.pbtxt index 49612f4fa1a..4739f586002 100644 --- a/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-block-diag.pbtxt +++ b/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-block-diag.pbtxt @@ -110,6 +110,10 @@ tf_class { name: "cholesky" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cholesky\'], " } + member_method { + name: "cond" + argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cond\'], " + } member_method { name: "determinant" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'det\'], " diff --git a/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-circulant.pbtxt b/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-circulant.pbtxt index db74a97fb9b..7c3a62bb067 100644 --- a/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-circulant.pbtxt +++ b/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-circulant.pbtxt @@ -127,6 +127,10 @@ tf_class { name: "cholesky" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cholesky\'], " } + member_method { + name: "cond" + argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cond\'], " + } member_method { name: "convolution_kernel" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'convolution_kernel\'], " diff --git a/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-circulant2-d.pbtxt b/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-circulant2-d.pbtxt index 094a0005274..ca1ca3678a2 100644 --- a/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-circulant2-d.pbtxt +++ b/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-circulant2-d.pbtxt @@ -127,6 +127,10 @@ tf_class { name: "cholesky" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cholesky\'], " } + member_method { + name: "cond" + argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cond\'], " + } member_method { name: "convolution_kernel" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'convolution_kernel\'], " diff --git a/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-circulant3-d.pbtxt b/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-circulant3-d.pbtxt index 0f0d5675fcb..e91de61a7f5 100644 --- a/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-circulant3-d.pbtxt +++ b/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-circulant3-d.pbtxt @@ -127,6 +127,10 @@ tf_class { name: "cholesky" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cholesky\'], " } + member_method { + name: "cond" + argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cond\'], " + } member_method { name: "convolution_kernel" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'convolution_kernel\'], " diff --git a/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-composition.pbtxt b/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-composition.pbtxt index 8989d2cb790..14c5514be31 100644 --- a/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-composition.pbtxt +++ b/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-composition.pbtxt @@ -110,6 +110,10 @@ tf_class { name: "cholesky" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cholesky\'], " } + member_method { + name: "cond" + argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cond\'], " + } member_method { name: "determinant" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'det\'], " diff --git a/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-diag.pbtxt b/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-diag.pbtxt index 840b2383f8e..6198572ba4f 100644 --- a/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-diag.pbtxt +++ b/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-diag.pbtxt @@ -110,6 +110,10 @@ tf_class { name: "cholesky" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cholesky\'], " } + member_method { + name: "cond" + argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cond\'], " + } member_method { name: "determinant" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'det\'], " diff --git a/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-full-matrix.pbtxt b/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-full-matrix.pbtxt index c1fc511aa3a..9fe14ecc611 100644 --- a/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-full-matrix.pbtxt +++ b/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-full-matrix.pbtxt @@ -106,6 +106,10 @@ tf_class { name: "cholesky" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cholesky\'], " } + member_method { + name: "cond" + argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cond\'], " + } member_method { name: "determinant" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'det\'], " diff --git a/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-householder.pbtxt b/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-householder.pbtxt index 50234392fd4..b71cda0a1be 100644 --- a/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-householder.pbtxt +++ b/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-householder.pbtxt @@ -110,6 +110,10 @@ tf_class { name: "cholesky" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cholesky\'], " } + member_method { + name: "cond" + argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cond\'], " + } member_method { name: "determinant" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'det\'], " diff --git a/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-identity.pbtxt b/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-identity.pbtxt index 8cb65f7793a..e4051585a35 100644 --- a/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-identity.pbtxt +++ b/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-identity.pbtxt @@ -107,6 +107,10 @@ tf_class { name: "cholesky" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cholesky\'], " } + member_method { + name: "cond" + argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cond\'], " + } member_method { name: "determinant" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'det\'], " diff --git a/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-inversion.pbtxt b/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-inversion.pbtxt index 8db0d9bda86..ee9351e5bb4 100644 --- a/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-inversion.pbtxt +++ b/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-inversion.pbtxt @@ -110,6 +110,10 @@ tf_class { name: "cholesky" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cholesky\'], " } + member_method { + name: "cond" + argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cond\'], " + } member_method { name: "determinant" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'det\'], " diff --git a/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-kronecker.pbtxt b/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-kronecker.pbtxt index 3f0d83b70cc..3c5b3a8c3db 100644 --- a/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-kronecker.pbtxt +++ b/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-kronecker.pbtxt @@ -110,6 +110,10 @@ tf_class { name: "cholesky" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cholesky\'], " } + member_method { + name: "cond" + argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cond\'], " + } member_method { name: "determinant" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'det\'], " diff --git a/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-low-rank-update.pbtxt b/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-low-rank-update.pbtxt index c658d4ecd19..bf32f07455e 100644 --- a/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-low-rank-update.pbtxt +++ b/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-low-rank-update.pbtxt @@ -130,6 +130,10 @@ tf_class { name: "cholesky" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cholesky\'], " } + member_method { + name: "cond" + argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cond\'], " + } member_method { name: "determinant" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'det\'], " diff --git a/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-lower-triangular.pbtxt b/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-lower-triangular.pbtxt index e04609f94bc..2bf8383bc30 100644 --- a/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-lower-triangular.pbtxt +++ b/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-lower-triangular.pbtxt @@ -106,6 +106,10 @@ tf_class { name: "cholesky" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cholesky\'], " } + member_method { + name: "cond" + argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cond\'], " + } member_method { name: "determinant" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'det\'], " diff --git a/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-permutation.pbtxt b/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-permutation.pbtxt index d6e3958ae1e..321b7004109 100644 --- a/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-permutation.pbtxt +++ b/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-permutation.pbtxt @@ -110,6 +110,10 @@ tf_class { name: "cholesky" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cholesky\'], " } + member_method { + name: "cond" + argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cond\'], " + } member_method { name: "determinant" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'det\'], " diff --git a/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-scaled-identity.pbtxt b/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-scaled-identity.pbtxt index 8f64cb0fdd2..a8a7a06fb51 100644 --- a/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-scaled-identity.pbtxt +++ b/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-scaled-identity.pbtxt @@ -111,6 +111,10 @@ tf_class { name: "cholesky" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cholesky\'], " } + member_method { + name: "cond" + argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cond\'], " + } member_method { name: "determinant" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'det\'], " diff --git a/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-toeplitz.pbtxt b/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-toeplitz.pbtxt index e016f7761b8..15bae49eda0 100644 --- a/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-toeplitz.pbtxt +++ b/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-toeplitz.pbtxt @@ -114,6 +114,10 @@ tf_class { name: "cholesky" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cholesky\'], " } + member_method { + name: "cond" + argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cond\'], " + } member_method { name: "determinant" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'det\'], " diff --git a/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-zeros.pbtxt b/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-zeros.pbtxt index 2e1f54b2cf5..75777dc7745 100644 --- a/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-zeros.pbtxt +++ b/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator-zeros.pbtxt @@ -106,6 +106,10 @@ tf_class { name: "cholesky" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cholesky\'], " } + member_method { + name: "cond" + argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cond\'], " + } member_method { name: "determinant" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'det\'], " diff --git a/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator.pbtxt b/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator.pbtxt index 8a5602d5a9d..2390fb26d9c 100644 --- a/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator.pbtxt +++ b/tensorflow/tools/api/golden/v2/tensorflow.linalg.-linear-operator.pbtxt @@ -105,6 +105,10 @@ tf_class { name: "cholesky" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cholesky\'], " } + member_method { + name: "cond" + argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'cond\'], " + } member_method { name: "determinant" argspec: "args=[\'self\', \'name\'], varargs=None, keywords=None, defaults=[\'det\'], "