0

train_generator 使用 Keras flow_from_directory 从磁盘读取批量 RGB 图像数据(下面的示例代码)。但就我而言,我有两个图像目录,因此我想读取一对图像并将它们沿深度轴堆叠以在它之前形成一个 6 通道图像(即 2x R、2x G、2x B 通道)转到 fit_generator。

所以,我的问题是如何在使用 Keras flow_from_directory 的同时沿深度轴组合两个 RGB 图像来准备 6 通道输入数据?

我正在从这里关注一个用于分类的示例 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')
4

1 回答 1

0

flow_from_directory返回一个迭代器。使用 map,可以连接两个迭代器的输出。(代码未测试)

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) 
于 2019-05-14T14:19:24.977 回答