tf.debugging.assert_near
| Просмотреть исходный код на GitHub |
Проверяет, что значения x и y близки попарно.
tf.debugging.assert_near(
x, y, rtol=None, atol=None, message=None, summarize=None, name=None
)
Этот оператор проверяет, что x[i] - y[i] < atol + rtol * tf.abs(y[i]) выполняется для каждой пары (возможно, с векторизацией) элементов x и y. Если оба x и y пусты, условие выполняется тривиально.
Если какие-либо элементы x и y не близки друг к другу, message, а также первые summarize записи x и y будут напечатаны, и будет вызвано исключение InvalidArgumentError.
По умолчанию 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, того же типа данных, что и x, и с ними совместимое по трансляции. |
rtol | Tensor. Совместимое по типу данных с x, и с ним по трансляции. Относительная погрешность. По умолчанию 10 * eps. |
atol | Tensor. Совместимое по типу данных с x, и с ним по трансляции. Абсолютная погрешность. По умолчанию 10 * eps. |
message | Строка, добавляемая в сообщение по умолчанию. |
summarize | Количество элементов каждого тензора для вывода. |
name | Имя операции (необязательно). По умолчанию "assert_near". |
| Возвращает | |
|---|---|
Оператор, который вызывает InvalidArgumentError, если x и y недостаточно близки. Это можно использовать с tf.control_dependencies внутри tf.function для блокировки дальнейшего вычисления до выполнения проверки. |
| Исключения | |
|---|---|
InvalidArgumentError | если проверка может быть выполнена немедленно, и x != y ложно для любой пары элементов в x и y. Проверка может быть выполнена немедленно во время выполнения eager или если x и y статически известны. |
Совместимость с Eager
возвращает None
Совместимость с 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/debugging/assert_near