解决了一个令人头秃的问题
early_stopping=tf.keras.callbacks.EarlyStopping(monitor='loss', min_delta=0.0001,
patience=5, mode='auto',
baseline=None, restore_best_weights=False,verbose=1)
reduce_lr = tf.keras.callbacks.ReduceLROnPlateau(monitor='loss',patience=1,verbose=1,factor = 0.3)
checkpoint = tf.keras.callbacks.ModelCheckpoint('model_cp/',monitor='loss',
save_weights_only=False,verbose=1,
save_best_only=True,save_freq='epoch',mode = 'min')
new_model.fit(ds, epochs=10000, steps_per_epoch=steps_per_epoch,
callbacks = [early_stopping,reduce_lr,checkpoint])
训练代码长这样子
自动保存的文件长这样
苦于不知道怎么加载这个checkpoint
参考了:https://www.tensorflow.org/tutorials/keras/save_and_load
最后解决方法:
1.用代码重新生成你这个模型
img_input = keras.Input(shape=(720, 1280,3), name='original_img')
x = layers.Conv2D(32, 3, activation='relu',padding="same")(img_input)
……………………………………
out = x
model = keras.Model(img_input, out)
2.加载checkpoint
model.load_weights('model_cp/')
就ojbk了,注意这个斜杠,需要加上,算是一个文件夹,而不是文件 否则会报错