keras - 尝试对 ImageDataGenerator().flow_from_directory 应用 k 折交叉验证
问题描述
我尝试将 k 折交叉验证应用于 cnn 分类问题
假设我有一辆汽车A,汽车B
所以我做了子文件夹
car/trainCross/fold0
汽车/trainCross/fold1汽车/validCross/fold0
汽车/validCross/fold1
和下面的代码
model_path = '../carPrediction/model/'+ 'saved.hdf5'
for i in range(2):
print('training->',i,' split')
train_generator = train_datagen.flow_from_directory(TRAIN_CROPPED_PATH +'fold'+str(i),
target_size=(image_size, image_size),
batch_size=batch_size,
class_mode='categorical',
seed=2019,
color_mode='rgb')
print(VALID_CROPPED_PATH+'fold'+str(i))
validation_generator = valid_datagen.flow_from_directory(
VALID_CROPPED_PATH+'fold'+str(i),
target_size=(image_size,image_size),
batch_size=batch_size,
class_mode='categorical',
seed=2019,
color_mode='rgb'
)
test_generator = test_datagen.flow_from_dataframe(
dataframe=df_test,
directory=TEST_CROPPED_PATH,
x_col='img_file',
y_col=None,
target_size= (image_size,image_size),
color_mode='rgb',
class_mode=None,
batch_size=batch_size,
shuffle=False
)
try:
model = load_model(model_path, compile=True)
except Exception as OSError:
pass
patient = 2
callbacks1 = [
EarlyStopping(monitor='val_loss', patience=patient, mode='min', verbose=1),
ReduceLROnPlateau(monitor = 'val_loss', factor = 0.5, patience = patient / 2, min_lr=0.00001, verbose=1, mode='min'),
ModelCheckpoint(filepath=model_path, monitor='val_loss', verbose=1, save_best_only=True, mode='min'),
]
history = model.fit_generator(
train_generator,
steps_per_epoch=get_steps(nb_train_sample, batch_size),
epochs=2,
validation_data=validation_generator,
validation_steps=get_steps(nb_validation_sample, batch_size),
verbose=1,
callbacks = callbacks1
)
但不确定这种方式是否正确?
解决方案
推荐阅读
- reactjs - React useReducer 中的问题
- ruby - Ruby/Watir 禁用保存密码提示
- javascript - 如何解决错误“此表达式不可构造”?
- flutter - Flutter 底部导航栏
- java - 更新云 Firestore 中的字段键
- azure-log-analytics - Azure Log Analytics - KQL - 获取年初至今计数的查询
- apache-kafka - Confluent 5.5.1 无法启动 Kafka Rest,Kafka 服务器未运行。错误:退出状态 127
- salesforce - 显示空白值的电子邮件模板。显示文本但字段值为空白
- c - 结构的静态数组与带有 libaio 的结构的 malloc 数组
- go - 更改地图链接是否并发安全?