tf.compat.v1.assert_near
Assert the condition x and y are close element-wise.
tf.compat.v1.assert_near(
x, y, rtol=None, atol=None, data=None, summarize=None, message=None, name=None
)
Example of adding a dependency to an operation:
with tf.control_dependencies([tf.compat.v1.assert_near(x, y)]): output = tf.reduce_sum(x)
This condition holds if for every pair of (possibly broadcast) elements x[i], y[i], we have
tf.abs(x[i] - y[i]) <= atol + rtol * tf.abs(y[i]).
If both x and y are empty, this is trivially satisfied.
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. |
data | The tensors to print out if the condition is False. Defaults to error message and first few entries of x, y. |
summarize | Print this many entries of each tensor. |
message | A string to prefix to the default message. |
name | A name for this operation (optional). Defaults to "assert_near". |
| Returns | |
|---|---|
Op that raises InvalidArgumentError if x and y are not close enough. |
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/compat/v1/assert_near