Используя Tensorflow model.fit_generator, мы можем установить shuffle в True. В документе говорится, что он будет перетасовывать данные тренировочного генератора перед каждой эпохой.
Поскольку у меня много данных, моя цель состоит в том, чтобы проверять выборку моих данных проверки каждые 100 шагов, поэтому я устанавливаю steps_per_epoch равным 100и используя shuffle = True, я знаю, что 100 партий обучающих данных будут случайным образом выбираться из обучающих данных для каждой эпохи.
Есть ли способ добиться того же с моими проверочными данными? То есть, каждый раз, когда мы проверяем, случайным образом выбираем 50 партий из всех данных проверки
traindata = 200_000
validation data = 40_000
batch_size = 32
model.fit_generator(
train_generator,
steps_per_epoch=100,
epochs=20,
verbose=1,
callbacks=[tensorboard, early_stopping, mcp_save],
validation_data=test_generator,
validation_steps=50,
max_queue_size=10,
workers=4,
use_multiprocessing=False,
shuffle=True,
)
def make_train_generator():
train_datagen = tf.keras.preprocessing.image.ImageDataGenerator(rescale=1. / 255)
train_generator = train_datagen.flow_from_directory('data/train',
target_size=(32, 64),
class_mode='binary',
batch_size=32)
return train_generator
def make_test_generator():
test_datagen = tf.keras.preprocessing.image.ImageDataGenerator(rescale=1. / 255)
test_generator = test_datagen.flow_from_directory('data/test',
target_size=(32, 64),
class_mode='binary',
batch_size=32)
return test_generator