Метод unique класса Dataset
Метод unique класса Dataset создает новый датасет,
в котором удалены все повторяющиеся элементы исходного датасета.
Порядок элементов сохраняется таким, каким он был при первом
появлении каждого уникального значения. Метод не принимает
обязательных параметров и возвращает новый объект Dataset.
Исходный датасет при этом не изменяется.
Синтаксис
dataset.unique()
Пример
Давайте создадим датасет из списка чисел с повторами
и применим к нему метод unique:
import tensorflow as tf
ds = tf.data.Dataset.from_tensor_slices([1, 2, 3, 2, 1, 4, 3, 5])
ds_unique = ds.unique()
for el in ds_unique:
print(el.numpy())
Результат выполнения кода:
1
2
3
4
5
Пример
Давайте применим метод unique к датасету строк
и соберем результат в список:
import tensorflow as tf
ds = tf.data.Dataset.from_tensor_slices(['abcde', 'model.keras', 'abcde', 'model.keras'])
ds_unique = ds.unique()
res = list(ds_unique.as_numpy_iterator())
print(res)
Результат выполнения кода:
[b'abcde', b'model.keras']
Пример
Давайте создадим датасет из двумерных тензоров
с повторяющимися строками и применим метод unique:
import tensorflow as tf
data = tf.constant([[1, 2, 3], [4, 5, 6], [1, 2, 3], [4, 5, 6]])
ds = tf.data.Dataset.from_tensor_slices(data)
ds_unique = ds.unique()
for el in ds_unique:
print(el.numpy())
Результат выполнения кода:
[1 2 3]
[4 5 6]
Смотрите также
-
класс
Dataset,
который представляет набор данных в TensorFlow -
метод
from_tensor_slices,
который создает датасет из срезов тензора -
метод
filter,
который фильтрует элементы датасета по условию -
метод
as_numpy_iterator,
который возвращает итератор по элементам датасета