使用Keras创建自定义条件指标

时间:2018-08-17 19:56:37

标签: python tensorflow neural-network keras

我正在尝试使用keras为我的神经网络创建以下指标:

Custom Keras metric

其中d = y_ {pred} -y_ {true}

y_ {pred}和y_ {true}都是向量

使用以下代码:

将keras.backend导入为K

def score(y_true, y_pred):
        d=(y_pred - y_true)
        if d<0:
            return K.exp(-d/10)-1
        else:
            return K.exp(d/13)-1

用于编译我的模型:

model.compile(loss='mse', optimizer='adam', metrics=[score])

我收到以下错误代码,但无法纠正此问题。任何帮助将不胜感激。

  

raise TypeError(“ tf.Tensor作为Python bool使用不是   允许的。 “”使用if t is not None:代替if t:来测试“   “定义了张量,并使用TensorFlow操作,例如“

     

TypeError:不允许将tf.Tensor用作Python bool。采用   if t is not None:代替if t:来测试是否定义了张量,   并使用tf.cond等TensorFlow操作来执行子图   以张量的值为条件。

1 个答案:

答案 0 :(得分:2)

您提供的度量标准不是每次都会执行的函数,而是需要评估的函数(计算图)的构造。因此,它必须是确定性的。

尝试:

apt_get