猿问

自定义 keras 指标返回 nan

我想在分类问题中进一步将输出类分为更少的桶。我有 4 个输出类(即 0、1、2、3)。但在训练期间,我还想跟踪 2 个类的准确性:


将 0 和 1 视为 0 类

将 2 和 3 视为第 1 类

为此,我创建了一个新指标并使用模型对其进行编译:


def new_classes_acc(y_true, y_pred):

  actual = tf.floor( y_true / 2 )

  predicted = tf.floor( y_pred / 2 )

  return K.categorical_crossentropy(actual, predicted)

像这样编译它:


model.compile(loss='categorical_crossentropy', optimizer=optimizer, metrics=['accuracy', new_classes_acc])

我得到nan作为精度值。这样做的正确方法是什么?


慕婉清6462132
浏览 177回答 1
1回答
随时随地看视频慕课网APP

相关分类

Python
我要回答