问题描述
我有一个问题,我的k-fold的精度没有回到0,而是在上一个fold上继续最后一个epoch的精度,请找到解决办法
or
下面是k-fold的代码
IMAGE_SHAPE = (224,224)
TRAINING_data_dir = str(directory_root)
datagen_kwargs = dict(
rescale = 1. / 255,rotation_range=25,shear_range=0.2,horizontal_flip=True,validation_split=.20)
# Make Validation Datagen
valid_datagen = tf.keras.preprocessing.image.ImageDataGenerator(**datagen_kwargs)
valid_generator = valid_datagen.flow_from_directory(
TRAINING_data_dir,subset='validation',shuffle=True,target_size=IMAGE_SHAPE,batch_size=100)
# Make Train Datagen
train_datagen = tf.keras.preprocessing.image.ImageDataGenerator(**datagen_kwargs)
train_generator = train_datagen.flow_from_directory(
TRAINING_data_dir,subset='training',batch_size=100)
解决方法
由于我没有看到代码中声明和分配了某些变量的位置,因此我不确定这是否解决了问题。无论如何,如果您调用“model.fit()”而不为每个折叠实例化一个新模型,结果将是具有已训练权重的相同模型将拟合新数据,从而提高其先前的准确性。