Метод ignore_errors класса Dataset
Метод ignore_errors класса Dataset создает новый датасет,
который пропускает элементы, вызывающие ошибки при обработке.
Это особенно полезно при чтении файлов, когда некоторые из них
повреждены или имеют неверный формат. Метод применяется к датасету
и возвращает новый датасет, в котором ошибочные элементы
игнорируются. Параметров метод не принимает.
Синтаксис
dataset.ignore_errors()
Пример
Давайте создадим датасет из тензоров и применим метод ignore_errors:
<+python+>
import tensorflow as tf
dataset = tf.data.Dataset.from_tensor_slices([1, 2, 3, 4, 5])
dataset = dataset.map(lambda x: tf.cond(x > 3, lambda: tf.cast('error', tf.int32), lambda: x))
dataset = dataset.ignore_errors()
res = list(dataset.as_numpy_iterator())
print(res)
<-python+>
Результат выполнения кода:
[1, 2, 3]
Пример
Давайте создадим датасет из тензоров и применим метод ignore_errors без ошибок:
<+python+>
import tensorflow as tf
dataset = tf.data.Dataset.from_tensor_slices([1, 2, 3, 4, 5])
dataset = dataset.ignore_errors()
res = list(dataset.as_numpy_iterator())
print(res)
<-python+>
Результат выполнения кода:
[1, 2, 3, 4, 5]
Смотрите также
-
класс
Dataset,
который представляет набор данных в TensorFlow -
метод
map,
который применяет функцию к каждому элементу датасета -
метод
filter,
который фильтрует элементы датасета по условию -
метод
as_numpy_iterator,
который возвращает итератор по элементам датасета