我正在尝试使用keras为我的神经网络创建以下指标:
其中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
作为Pythonbool
使用不是 允许的。 “”使用if t is not None:
代替if t:
来测试“ “定义了张量,并使用TensorFlow操作,例如“TypeError:不允许将
tf.Tensor
用作Pythonbool
。采用if t is not None:
代替if t:
来测试是否定义了张量, 并使用tf.cond等TensorFlow操作来执行子图 以张量的值为条件。
答案 0 :(得分:2)
您提供的度量标准不是每次都会执行的函数,而是需要评估的函数(计算图)的构造。因此,它必须是确定性的。
尝试:
apt_get