Как расширить данные в наборе данных Tensorflow?Python

Программы на Python
Anonymous
Как расширить данные в наборе данных Tensorflow?

Сообщение Anonymous »

Что касается набора изображений, я был сбит с толку, означает ли термин «Дополнение данных» преобразование текущего набора данных (например, обрезка/переворот/поворот/...) или увеличение объема данных путем добавления обрезанных/ перевернутые/повернутые изображения в исходный набор данных. Насколько я понимаю, из этого вопроса и из этого имеется в виду и то, и другое. Пожалуйста, поправьте меня, если я ошибаюсь.
Итак, используя набор данных Tensorflow, я хочу добиться второго: увеличения объема данных.
Я использую данные ImageNet из TFDS (обучающий набор недоступен):

Код: Выделить всё

import tensorflow_datasets as tfds
ds = tfds.load('imagenet_a', split='test', as_supervised=True)
И я хочу перевернуть изображения:

Код: Выделить всё

def transform(image, label):
image = tf.image.flip_left_right(image)
return image, label
Хорошо, если я применю преобразование непосредственно к набору данных. Но это не увеличивает объем данных:

Код: Выделить всё

ds = ds.map(transform)
Итак, я попытался создать второй набор данных и объединить оба:

Код: Выделить всё

ds0 = ds.map(transform)
ds = ds.concatenate(ds0)
Но я получаю следующую ошибку:

Код: Выделить всё

TypeError: Two datasets to concatenate have different types (tf.uint8, tf.int64) and (tf.float32, tf.int64)
Можно ли объединить два набора данных для увеличения обучающего набора?
Или как это сделать правильно? (или как исправить ошибку)
Мне известен ImageDataGenerator, но он не содержит нужного преобразования

Подробнее здесь: https://stackoverflow.com/questions/645 ... ow-dataset

Вернуться в «Python»