Как установить категориальные метки и разделить данные на разделение на обучение, тестирование и разработку с помощью Tensorflow? - PullRequest
0 голосов
/ 06 августа 2020

Привет, я обработал данные в этом формате. Есть 10 складок по 6 папок в каждой. В этих папках есть метки 0, 5 и 10 с соответствующими изображениями. Есть ли в Tensorflow какие-либо встроенные функции, чтобы сделать это за меня?


frames

├── Fold1_part1

│   ├── 01

│   │   ├── 0

│   │   │   ├── 00001.jpg

│   │   │   ├── 00006.jpg

│   │   │   ├── 00011.jpg

│   │   │   ├── 00016.jpg

│   │   │   ├── 00021.jpg

1 Ответ

0 голосов
/ 26 августа 2020

Узнал, как это сделать, но пришлось переупорядочить папку. Я создал новые папки для каждой категории и переместил в них изображения, затем использовал приведенный ниже код:

test_datagen = ImageDataGenerator(
    rescale=1. / 255,
    rotation_range = 180,
    width_shift_range = 0.2,
    height_shift_range = 0.2,
    brightness_range = (0.8, 1.2),
    shear_range = 0.2,
    zoom_range = 0.2,
    horizontal_flip = True,
    vertical_flip = True,
    validation_split = 0.1

)

train_datagen = ImageDataGenerator(
    rotation_range = 180,
    width_shift_range = 0.2,
    height_shift_range = 0.2,
    brightness_range = (0.8, 1.2),
    rescale = 1. / 255,
    shear_range = 0.2,
    zoom_range = 0.2,
    horizontal_flip = True,
    vertical_flip = True,
    validation_split = 0.1
)

train_generator = train_datagen.flow_from_directory(
    train_data_dir,
    target_size = (img_width, img_height),
    batch_size = batch_size,
    class_mode ='binary',
    seed = 42
)

validation_generator = test_datagen.flow_from_directory(
    validation_data_dir,
    target_size = (img_width, img_height),
    batch_size = batch_size,
    class_mode = 'binary',
    seed = 42
)

history = model.fit_generator(
    train_generator,
    steps_per_epoch = nb_train_samples // batch_size,
    epochs = epochs,
    validation_data = validation_generator,
    validation_steps = nb_validation_samples // batch_size)

...