我想在我的模型中添加多个损失值,但是当我将它们添加到loss参数时,它们不会显示(它只是显示为损失,而不是每个损失值):
dice_loss = sm.losses.DiceLoss()
focal_loss = sm.losses.BinaryFocalLoss()
total_loss = dice_loss + (1 * focal_loss)
optim = tf.keras.optimizers.Adam(LR)
loss = [total_loss, sm.losses.BinaryFocalLoss(), sm.losses.DiceLoss(), sm.losses.JaccardLoss()]
metrics = [sm.metrics.IOUScore(threshold=0.5), sm.metrics.FScore()]
model.compile(optimizer = optim, loss=loss, metrics=metrics)
显示每一个损失,我添加损失指标方面:
dice_loss = sm.losses.DiceLoss()
focal_loss = sm.losses.BinaryFocalLoss()
total_loss = dice_loss + (1 * focal_loss)
optim = tf.keras.optimizers.Adam(LR)
loss = [total_loss]
metrics = [sm.metrics.IOUScore(threshold=0.5), sm.metrics.FScore(), sm.losses.BinaryFocalLoss(), sm.losses.DiceLoss(), sm.losses.JaccardLoss()]
model.compile(optimizer = optim, loss=loss, metrics=metrics)
我可以将损失函数添加到度量侧吗?或者它将影响培训过程?如果会影响到训练过程,有没有办法让我在不影响训练过程的情况下显示每一个损失值?
是的,这很好,它不会改变训练过程,指标只用于监控,而不是用于计算将训练模型的梯度。