tf.debugging.assert_near
Утверждает, что условия 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. Того же dtype типа, что и x, и согласующийся с ним по размерности. Относительная погрешность. По умолчанию равна 10 * eps. |
atol | Tensor. Того же dtype типа, что и 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.
© 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/debugging/assert_near