Функция is_nan
Функция is_nan применяется к тензору и проверяет каждый его элемент на то, является ли он значением NaN (Not a Number). Функция принимает один обязательный параметр - тензор или значение, которое нужно проверить. На выходе возвращается булев тензор той же формы, где True соответствует элементу, равному NaN, а False - всем остальным значениям.
Синтаксис
tf.math.is_nan(x, [name])
Пример
Давайте создадим тензор с обычными числами и проверим его на наличие NaN:
import tensorflow as tf
t = tf.constant([1, 2, 3, 4, 5], dtype=tf.float32)
res = tf.math.is_nan(t)
print(res)
Результат выполнения кода:
tf.Tensor([False False False False False], shape=(5,), dtype=bool)
Пример
Давайте создадим тензор, содержащий значение NaN, и проверим его:
Результат выполнения кода:
tf.Tensor([False True False], shape=(3,), dtype=bool)
Пример
Давайте проверим двумерный тензор, в котором одно из значений равно NaN:
import tensorflow as tf
t = tf.constant([[1, 2, 3], [4, float('nan'), 6]], dtype=tf.float32)
res = tf.math.is_nan(t)
print(res)
Результат выполнения кода:
tf.Tensor(
[[False False False]
[False True False]], shape=(2, 3), dtype=bool)
Пример
Давайте получим результат в виде массива NumPy с помощью метода numpy:
import tensorflow as tf
t = tf.constant([1.0, float('nan'), 3.0], dtype=tf.float32)
res = tf.math.is_nan(t).numpy()
print(res)
Результат выполнения кода:
[False True False]