Как объединить два изображения RGB вдоль оси глубины, чтобы подготовить 6-канальные входные данные, используя Keras flow_from_directory? - PullRequest
0 голосов
/ 14 мая 2019

train_generator считывает пакеты данных изображения RGB с диска, используя Keras flow_from_directory (пример кода ниже). Но в моем случае у меня есть два каталога изображений, так что я хочу прочитать пару изображений и сложить их вдоль оси глубины, чтобы сформировать 6-канальное изображение (т.е. 2x R, 2x G, 2x B каналов) перед ним. идет в fit_generator.

Итак, мой вопрос заключается в том, как объединить два изображения RGB вдоль оси глубины для подготовки 6-канальных входных данных при использовании Keras flow_from_directory?

Ниже приведен пример кода CNN для классификации:

https://gist.github.com/fchollet/0830affa1f7f19fd47b06d4cf89ed44d

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

1 Ответ

0 голосов
/ 14 мая 2019

flow_from_directory возвращает итератор. Используя карту, можно объединить выходные данные двух итераторов. (код не проверен)

train_generator1 = train_datagen.flow_from_directory(
    train_data_dir1,
    target_size=(img_width, img_height),
    batch_size=batch_size,
    class_mode='binary')

train_generator2 = train_datagen.flow_from_directory(
    train_data_dir2,
    target_size=(img_width, img_height),
    batch_size=batch_size,
    class_mode='binary')

map(lambda x1, y1, x2, y2: tf.concat([x1,x2], axis=-1), tf.concat([y1,y2], axis=-1), train_generator1, train_generator2) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...