Python 为什么每次加载并继续训练ConvNet后,精确度都会下降?

Python 为什么每次加载并继续训练ConvNet后,精确度都会下降?,python,tensorflow,keras,Python,Tensorflow,Keras,我用自己的数据从头开始训练InceptionV3 ConvNet。在重新加载一个模型并继续学习之后,我意识到在重新编辑之后,训练集的准确性会稍微下降(例如从0.956降到0.879)。然后,精度继续表现为我所期望的。这对我来说似乎很不直观。有人知道为什么会这样吗 这是我最初初始化模型的方式: base_model = InceptionV3(weights=None, include_top=False) x = base_model.output x = GlobalAveragePooli

我用自己的数据从头开始训练InceptionV3 ConvNet。在重新加载一个模型并继续学习之后,我意识到在重新编辑之后,训练集的准确性会稍微下降(例如从0.956降到0.879)。然后,精度继续表现为我所期望的。这对我来说似乎很不直观。有人知道为什么会这样吗

这是我最初初始化模型的方式:

base_model = InceptionV3(weights=None, include_top=False)

x = base_model.output
x = GlobalAveragePooling2D(name='avg_pool')(x)
x = Dropout(0.4)(x)
predictions = Dense(num_classes, activation='softmax')(x)
model = Model(inputs=base_model.input, outputs=predictions)

# Freeze all layers
if preTrained:
    for layer in base_model.layers:
        layer.trainable = False

model.compile(optimizer='adam',
              loss='categorical_crossentropy',
              metrics=['accuracy'])
我使用以下回调在每个历元后存储模型:

checkpointEveryEpoch\u callback=ModelCheckpoint(saveDir+“modelFiles/saved model-{epoch:02d}-{val\u acc:.2f}.hdf5”,monitor='val\u acc',verbose=1,save\u best\u only=False,mode='max')

这段代码用于重新编辑模型(我不再编译模型):
model=load\u model(旧模型路径)

我使用RMSProp优化器尝试了同样的方法。但在重新加载和继续训练后也会发生同样的情况

你知道为什么每次训练集的准确性都会略有下降吗