Оба batch_x и batch_y в ImageDataGenerator
имеют тип K.floatx()
, поэтому по умолчанию должно быть tf.float32
.
Подобный вопрос уже обсуждался Как использовать генератор Keras с API tf.data .Позвольте мне скопировать и вставить ответ оттуда:
def make_generator():
train_datagen = ImageDataGenerator(rescale=1. / 255)
train_generator =
train_datagen.flow_from_directory(train_dataset_folder,target_size=(224, 224), class_mode='categorical', batch_size=32)
return train_generator
train_dataset = tf.data.Dataset.from_generator(make_generator,(tf.float32, tf.float32))
Автор столкнулся с еще одной проблемой с областью действия графика, но я думаю, что она не связана с вашим вопросом.
Или как один вкладыш:
tf.data.Dataset.from_generator(lambda:
ImageDataGenerator().flow_from_directory('folder_path'),(tf.float32, tf.float32))