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/api_docs/python/tf/compat/v1/assert_near