MSI
MSI

Reputation: 125

ImageDataGenerator data preparing for semantic segmentation

Preparing my data with ImageDataGenerator. So far I did the following,

For training data:

def data_aug(validation_split=0.25, batch_size=32, seed=42):
    datagen = ImageDataGenerator( rotation_range=10, 
                                  validation_split=0.2)
    
    # **train** data
    X_train_augmented = datagen.flow_from_directory(
                  directory='../input/train/fg_image',
                  target_size=(256, 256), 
                  shuffle=True,
                  batch_size=32,
                  seed=42
                  )
    
    Y_train_augmented = datagen.flow_from_directory(
                  directory='../input/train/gt_mask',
                  target_size=(256, 256), # resize to this size
                  shuffle=True,
                  batch_size=32, 
                  seed=42
                  )
    
    # **validation**: 
    X_test_augmented = datagen.flow_from_directory(
                  directory='../input/validation/fg_image',
                  target_size=(256, 256), # resize to this size
                  shuffle=True,
                  batch_size=32,
                  seed=42
                  )
    
    Y_test_augmented = datagen.flow_from_directory(
                  directory='../input/validation/gt_mask',
                  target_size=(256, 256), # resize to this size
                  shuffle=True,
                  batch_size=32,
                  seed=42
                  )

    
   
    train_generator = zip(X_train_augmented, Y_train_augmented)
    test_generator = zip(X_test_augmented, Y_test_augmented)
    
    return train_generator, test_generator

Then when I tried the training step:

train_generator, test_generator = data_aug()

model.fit_generator(train_generator, steps_per_epoch=2000,epochs=50)

Ended up with an error of,

ValueError: Layer model expects 1 input(s), but it received 2 input tensors. Inputs received: [<tf.Tensor 'IteratorGetNext:0' shape=(None, None, None, None) dtype=float32>, <tf.Tensor 'IteratorGetNext:1' shape=(None, None) dtype=float32>]

(updated)

Upvotes: 2

Views: 176

Answers (0)

Related Questions