Я сейчас использую tensorflow.keras.preprocessing.image.ImageDataGenerator
и flow_from_directory
. Например:
from tensorflow.keras.preprocessing.image import ImageDataGenerator
train_datagen = ImageDataGenerator(rotation_range=20,
width_shift_range=0.1,
height_shift_range=0.1,
shear_range=0.2,
zoom_range=0.2,
fill_mode='nearest',
horizontal_flip=True,
rescale=1/255.0,
preprocessing_function=preprocessing_function,
data_format='channels_last')
train_generator = train_datagen.flow_from_directory(
directory=env.channel_dirs['train'],
target_size=(train_size, train_size),
color_mode="rgb",
batch_size=batch_size,
class_mode="categorical",
shuffle=True,
interpolation='bilinear',
seed=42)
Я обнаружил, что даже при задании начального числа в numpy и TensorFlow, пакетный порядок не является статичным, поэтому я не получаю воспроизводимых результатов. Я видел этот пост , который рекомендует использовать keras Sequence . Тем не менее, у него есть только маленький пример для этого.
Можно ли сделать воспроизводимый пакетный заказ ImageDataGenerator? В качестве альтернативы, есть ли у кого-нибудь пример, которым он мог бы поделиться, как я мог бы использовать Sequence
, но сохранить flow_from_directory
вместе с использованием опций увеличения ImageDataGenerator
? Если пример требует слишком много, обобщение того, как это сделать, также будет с благодарностью!