tf.compat.v2.debugging.assert_near
Проверка условия x и y на близость по элементам.
tf.compat.v2.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.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/r1.15/api_docs/python/tf/compat/v2/debugging/assert_near