tf.debugging.assert_near
View source on GitHub |
Assert the condition x
and y
are close element-wise.
tf.debugging.assert_near( x, y, rtol=None, atol=None, message=None, summarize=None, name=None )
This Op checks that x[i] - y[i] < atol + rtol * tf.abs(y[i])
holds for every pair of (possibly broadcast) elements of x
and y
. If both x
and y
are empty, this is trivially satisfied.
If any elements of x
and y
are not close, message
, as well as the first summarize
entries of x
and y
are printed, and InvalidArgumentError
is raised.
The default atol
and rtol
is 10 * eps
, where eps
is the smallest representable positive number such that 1 + eps != 1
. This is about 1.2e-6
in 32bit
, 2.22e-15
in 64bit
, and 0.00977
in 16bit
. See numpy.finfo
.
Args | |
---|---|
x | Float or complex Tensor . |
y | Float or complex Tensor , same dtype as and broadcastable to x . |
rtol | Tensor . Same dtype as, and broadcastable to, x . The relative tolerance. Default is 10 * eps . |
atol | Tensor . Same dtype as, and broadcastable to, x . The absolute tolerance. Default is 10 * eps . |
message | A string to prefix to the default message. |
summarize | Print this many entries of each tensor. |
name | A name for this operation (optional). Defaults to "assert_near". |
Returns | |
---|---|
Op that raises InvalidArgumentError if x and y are not close enough. This can be used with tf.control_dependencies inside of tf.function s to block followup computation until the check has executed. |
Raises | |
---|---|
InvalidArgumentError | if the check can be performed immediately and x != y is False for any pair of elements in x and y . The check can be performed immediately during eager execution or if x and y are statically known. |
Eager Compatibility
returns None
Numpy Compatibility
Similar to numpy.testing.assert_allclose
, except tolerance depends on data type. This is due to the fact that TensorFlow
is often used with 32bit
, 64bit
, and even 16bit
data.
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.4/api_docs/python/tf/debugging/assert_near