我正在尝试定义一个返回舍入值的Keras度量。 (通常K.round()不可用于损耗中,因为它不可区分,但我认为可以在公制中使用。)
尽管使用K.round(),该度量始终具有小数位,给我类似2.0812的值。值得一提的是,我的y_true是3个值的浮动列表,例如[1.,3.,5。],[2.,5.,1。]等。
为了尝试理解正在发生的事情,我定义了一个非常简单的指标。
def simplemetric(y_true, y_pred):
return (y_true)
我原以为这会给我一个错误,但是它返回的值在2.089左右,每个时期略有不同,但不随批大小(128)而变化。
然后我尝试使用其他指标。
def simplemetric(y_true, y_pred):
return (K.round(K.sum(y_true)))
这给了我800.142左右的值,每个时期略有不同,但批号却没有。
作为最后的测试,我尝试了:
def simplemetric(y_true, y_pred):
return (y_true*0 + 10.0)
哪个时期给我的期望值为10.0。
那么在前面的案例中发生了什么?为什么我找不到整数,〜2的含义是什么。 〜800 keras是从[1.,2.,5.]之类的列表中计算出来的?