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