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.
© 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