Функция debugging.disable_check_numerics
Функция debugging.disable_check_numerics отключает
глобальную проверку числовой стабильности,
включенную ранее с помощью
debugging.enable_check_numerics. После вызова
данной функции TensorFlow перестает проверять тензоры
и операции на наличие значений NaN и Inf,
а также на переполнение при вычислениях. Функция не
принимает обязательных параметров и возвращает
None. Она полезна в тех случаях, когда проверка
числовой стабильности замедляет выполнение программы
или мешает отладке других аспектов модели.
Синтаксис
tf.debugging.disable_check_numerics()
Пример
Давайте включим проверку числовой стабильности, выполним операцию с некорректными значениями, а затем отключим проверку и убедимся, что ошибка больше не возникает:
import tensorflow as tf
tf.debugging.enable_check_numerics()
t = tf.constant([1.0, 2.0, 3.0])
res = tf.math.log(tf.constant([-1.0, -2.0, -3.0]))
print(res)
Результат выполнения кода:
tf.Tensor([nan nan nan], shape=(3,), dtype=float32)
Теперь отключим проверку числовой стабильности и повторим вычисление:
Результат выполнения кода:
tf.Tensor([nan nan nan], shape=(3,), dtype=float32)
Пример
Давайте проверим, что после отключения проверки операции с переполнением выполняются без предупреждений:
import tensorflow as tf
tf.debugging.disable_check_numerics()
t = tf.constant([1e38, 1e38, 1e38])
res = t * t
print(res)
Результат выполнения кода:
tf.Tensor([inf inf inf], shape=(3,), dtype=float32)
Смотрите также
-
функцию
enable_check_numerics,
которая включает проверку числовой стабильности -
функцию
assert_equal,
которая проверяет равенство двух тензоров -
функцию
assert_near,
которая проверяет близость двух тензоров -
функцию
assert_type,
которая проверяет тип тензора