如何在纪元结束时注销 Keras 自定义损失组件?
How to log out Keras custom loss component at the end of an epoch?
我有一个自定义损失函数,格式如下:
def CustomLoss(y_true,y_pred):
......
loss = loss1 + loss2 + loss3
return loss
我怎样才能 return 每个损失分量 (loss1, loss2, loss3)
在一个纪元结束时?默认只能观察loss。
通常情况下,如果我们有多个输出,keras可以很容易地显示出来。但是如何像我提到的那样显示值组件?
您需要为每个损失单独创建一个函数,并在编译模型时将它们传递给metrics
,如下所示
def CustomLoss():
......
return loss1() + loss2() + loss3()
def Loss1():
......
return value1
def Loss2():
......
return value2
def Loss3():
......
return value3
model.compile(optimizer=Adam(),
loss=CustomLoss,
metrics=[Loss1, Loss2, Loss3])
我有一个自定义损失函数,格式如下:
def CustomLoss(y_true,y_pred):
......
loss = loss1 + loss2 + loss3
return loss
我怎样才能 return 每个损失分量 (loss1, loss2, loss3)
在一个纪元结束时?默认只能观察loss。
通常情况下,如果我们有多个输出,keras可以很容易地显示出来。但是如何像我提到的那样显示值组件?
您需要为每个损失单独创建一个函数,并在编译模型时将它们传递给metrics
,如下所示
def CustomLoss():
......
return loss1() + loss2() + loss3()
def Loss1():
......
return value1
def Loss2():
......
return value2
def Loss3():
......
return value3
model.compile(optimizer=Adam(),
loss=CustomLoss,
metrics=[Loss1, Loss2, Loss3])