Keras提前停止设置
我已经构建了一个通用的Unet,通过使用Keras来训练我自己的数据集。我已经设置了如下的EarlyStoping选项。但是,在训练过程中,它会提示精度值不会发生变化,但在下一行中,它会发生明显的变化。以前有没有人遇到过这个问题,或者知道如何解决这个问题Keras提前停止设置,keras,early-stopping,Keras,Early Stopping,我已经构建了一个通用的Unet,通过使用Keras来训练我自己的数据集。我已经设置了如下的EarlyStoping选项。但是,在训练过程中,它会提示精度值不会发生变化,但在下一行中,它会发生明显的变化。以前有没有人遇到过这个问题,或者知道如何解决这个问题 您得到的反馈信息是,对于刚刚完成的历元,验证精度没有提高。这可能是因为您在回调设置中设置了verbose=2,目的是提醒您,如果您看到连续10个历元的消息,您的培训将结束。您收到的反馈消息告诉您,对于刚刚完成的历元,验证精度没有提高。发生这种
您得到的反馈信息是,对于刚刚完成的历元,验证精度没有提高。这可能是因为您在回调设置中设置了
verbose=2
,目的是提醒您,如果您看到连续10个历元的消息,您的培训将结束。您收到的反馈消息告诉您,对于刚刚完成的历元,验证精度没有提高。发生这种情况可能是因为您在回调设置中设置了verbose=2
,这是为了提醒您,如果您看到连续10个时代的消息,您的培训将结束。很抱歉,您的问题很难理解,因为您没有输入显示输出的链接图像的描述。相反,它被标记为“在此处输入图像描述”。很抱歉,您的问题很难理解,因为您没有输入显示输出的链接图像的描述。相反,它被标记为“在此处输入图像描述”
train_iterator = create_one_shot_iterator(train_files, batch_size=train_batch_size, num_epoch=epochs)
train_images, train_masks = train_iterator.get_next()
train_images, train_masks = augment_dataset(train_images, train_masks,
augment=True,
resize=True,
scale=1 / 255.,
hue_delta=0.1,
horizontal_flip=True,
width_shift_range=0.1,
height_shift_range=0.1,
rotate=15)
val_iterator = create_initializable_iterator(val_files, batch_size=val_batch_size)
val_images, val_masks = val_iterator.get_next()
val_images, val_masks = augment_dataset(val_images, val_masks,
augment=True,
resize=True,
scale=1 / 255.,
)
model_input = tf.keras.layers.Input(tensor=train_images)
model_output = Unet.u_net_256(model_input)
# Model definition
model = models.Model(inputs=model_input, outputs=model_output)
precision = tf.keras.metrics.Precision()
model.compile(optimizer='adam',
loss=bce_dice_loss,
metrics=[precision],
target_tensors=[train_masks])
model.summary()
cp = [tf.keras.callbacks.ModelCheckpoint(filepath=os.path.join(hdf5_dir, class_name) + '.hdf5',
monitor='val_precision',
save_best_only=True,
verbose=1),
tf.keras.callbacks.TensorBoard(log_dir=log_dir,
write_graph=True,
wr`enter code here`ite_images=True),
tf.keras.callbacks.EarlyStopping(monitor='val_precision', patience=10, verbose=2, mode='max')]
History = model.fit(train_images, train_masks,
steps_per_epoch=int(np.ceil(num_train_samples / float(train_batch_size))),
epochs=epochs,
validation_data=(val_images, val_masks),
validation_steps=int(np.ceil(num_val_samples / float(val_batch_size))),
callbacks=cp,
)