Функция debugging.assert_near
Функция debugging.assert_near применяется к тензорам
для проверки их приблизительного равенства. Первым параметром
функция принимает первый тензор, вторым - второй тензор.
Третьим параметром можно передать допустимое отклонение
rtol, а четвертым - абсолютное отклонение
atol. Функция не возвращает значение, а вызывает
исключение, если разница между элементами тензоров превышает
заданные пороги. Это полезно при отладке вычислений с
плавающей точкой.
Синтаксис
tf.debugging.assert_near(x, y, [rtol], [atol], [message])
Пример
Давайте проверим, что два тензора с одинаковыми значениями близки друг к другу:
import tensorflow as tf
t1 = tf.constant([1.0, 2.0, 3.0])
t2 = tf.constant([1.0, 2.0, 3.0])
tf.debugging.assert_near(t1, t2)
print("assertion passed")
Результат выполнения кода:
"assertion passed"
Пример
Давайте проверим тензоры с небольшим отклонением, которое укладывается в допустимую погрешность:
Результат выполнения кода:
"assertion passed"
Пример
Давайте попробуем сравнить тензоры с отклонением, превышающим допустимое, что вызовет ошибку:
import tensorflow as tf
t1 = tf.constant([1.0, 2.0, 3.0])
t2 = tf.constant([1.5, 2.5, 3.5])
try:
tf.debugging.assert_near(t1, t2, atol=0.1)
except tf.errors.InvalidArgumentError as e:
print("assertion failed")
Результат выполнения кода:
"assertion failed"
Смотрите также
-
функцию
debugging.assert_equal,
которая проверяет точное равенство тензоров -
функцию
debugging.assert_greater,
которая проверяет, что элементы одного тензора больше другого -
функцию
debugging.assert_less,
которая проверяет, что элементы одного тензора меньше другого -
функцию
debugging.assert_shapes,
которая проверяет соответствие форм тензоров