k-fold 精度不会回到 0

问题描述

我有一个问题,我的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()”而不为每个折叠实例化一个新模型,结果将是具有已训练权重的相同模型将拟合新数据,从而提高其先前的准确性。