TensorFlow 1 version
|
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.functions
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.
TensorFlow 1 version
View source on GitHub