I'm trying to generate two parameters from ImageDataGenerator for input to my model.fit_generator() but that don't work, I don't now if is the best way to do that.
My structure is:
input_imgen1 = ImageDataGenerator(rescale = 1./255,
vertical_flip=True,
validation_split=0.2,
horizontal_flip = True)
input_imgen2 = ImageDataGenerator(rescale = 1./255,
shear_range = 0.2,
zoom_range = 0.2,
rotation_range=5.)
testgenerator = ImageDataGenerator(rescale = 1./255)
def generate_generator_multiple(generator1, generator2, train_data_dir, batch_size, img_height,
img_width):
genX1 = generator1.flow_from_directory(train_data_dir,
target_size = (img_height, img_width),
class_mode = 'categorical',
batch_size = batch_size,
shuffle=False,
seed=7)
genX2 = generator2.flow_from_directory(train_data_dir,
target_size = (img_height, img_width),
class_mode = 'categorical',
batch_size = batch_size,
shuffle=False,
seed=7)
while True:
X1i = genX1.next()
X2i = genX2.next()
yield [X1i[0], X2i[0]], X2i[1] #Yield both images and their mutual label
data_gen_train=generate_generator_multiple(generator1=input_imgen1,
generator2=input_imgen2,
train_data_dir=train_dir,
batch_size=batch_size,
img_height=IMG_HEIGHT,
img_width=IMG_WIDTH)
history = model.fit_generator(
data_gen_train,
epochs=epochs,
steps_per_epoch=25,
verbose=1,
validation_data=testgenerator,
validation_steps=25,
callbacks=[checkpoint, early_stop, tensor_board]
)
Error when I fit: