tf.compat.v1.assert_near
Утверждение, что x и y близки по элементам.
tf.compat.v1.assert_near(
x,
y,
rtol=None,
atol=None,
data=None,
summarize=None,
message=None,
name=None
)
Пример добавления зависимости к операции:
with tf.control_dependencies([tf.compat.v1.assert_near(x, y)]): output = tf.reduce_sum(x)
Это условие выполняется, если для каждой пары элементов (возможно, с вещанием) x[i], y[i], у нас есть
tf.abs(x[i] - y[i]) <= atol + rtol * tf.abs(y[i]).
Если оба x и y пустые, это удовлетворяется тривиально.
По умолчанию atol и rtol равно 10 * eps, где eps — наименьшее представимое положительное число такое, что 1 + eps != 1. Это примерно 1.2e-6 в 32bit, 2.22e-15 в 64bit, и 0.00977 в 16bit. См. numpy.finfo.
| Аргументы | |
|---|---|
x | Вещественное или комплексное Tensor. |
y | Вещественное или комплексное Tensor, такое же dtype и вещаемое к x. |
rtol | Tensor. Такое же dtype и вещаемое к x. Относительная погрешность. По умолчанию 10 * eps. |
atol | Tensor. Такое же dtype и вещаемое к x. Абсолютная погрешность. По умолчанию 10 * eps. |
data | Тензоры для вывода, если условие ложно. По умолчанию сообщение об ошибке и первые несколько элементов x, y. |
summarize | Выводить столько элементов каждого тензора. |
message | Строка, добавляемая в начало стандартного сообщения. |
name | Имя этой операции (необязательно). По умолчанию "assert_near". |
| Возвращает | |
|---|---|
Операция, которая вызывает InvalidArgumentError если x и y недостаточно близки. |
Совместимость с numpy
Аналогично numpy.testing.assert_allclose, за исключением того, что погрешность зависит от типа данных. Это связано с тем, что TensorFlow часто используется с 32bit, 64bit, и даже 16bit данными.
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.9/api_docs/python/tf/compat/v1/assert_near