I am trying to use a custom preprocessing function to convert RGB images to grayscale during training. As such, I try to use tf.image.rbg_to_grayscale
for this. My function looks as following:
def prep_data(x):
x = tf.image.rgb_to_grayscale(x)
return x
datagen = ImageDataGenerator(preprocessing_function=prep_data,validation_split=0.15)
The train_generator
is defined using datagen.flow_from_dataframe(...)
. Training without this custom function works just fine, however once I use it I get the following error:
ValueError: setting an array element with a sequence.
Judging from this answer here, I assume I need to change my input to rgb_to_grayscale
, but I don't know what's the correct way of passing x
to the function.
Any idea on how to solve this?