Keras Metric奇怪的行为

时间:2018-09-22 23:43:40

标签: keras metrics

我正在尝试定义一个返回舍入值的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.]之类的列表中计算出来的?

0 个答案:

没有答案