Python 图形错误中不允许使用Keras Add_loss投掷运算符

Python 图形错误中不允许使用Keras Add_loss投掷运算符,python,tensorflow,keras,neural-network,Python,Tensorflow,Keras,Neural Network,我创建了一个基本损失函数,它采用CDF(pdf的总和),并在两者之间进行均方误差 代码如下: def tuner_loss(y_true, y_pred): y_actual=K.cumsum(y_true) y_pred=K.cumsum(y_pred) return K.mean(K.square(y_actual-y_pred)) 我尝试了model。使用loss=“None”添加损耗(损耗模型),然后尝试 loss=loss\u model,然后注释掉模型。添加

我创建了一个基本损失函数,它采用CDF(pdf的总和),并在两者之间进行均方误差

代码如下:

def tuner_loss(y_true, y_pred):
    y_actual=K.cumsum(y_true)
    y_pred=K.cumsum(y_pred)
    return K.mean(K.square(y_actual-y_pred))
我尝试了
model。使用
loss=“None”
添加损耗(损耗模型)
,然后尝试
loss=loss\u model
,然后注释掉
模型。添加\u loss
loss\u model
,并直接将
调谐器\u loss
功能放入loss

他们都不工作

这是代码:

input_layer= Input(179,)
y_actual=Input(199,)
x=Dense(32, activation='relu')(input_layer)
x=Dense(64, activation='relu')(x)
x=Dense(32, activation='relu')(x)
x=Dropout(0.2)(x)
x=Dense(64)(x)
output_layer = Dense(199, activation='softmax')(x)
model=Model(inputs=[input_layer, y_actual], outputs=output_layer)
#loss_model= tuner_loss(y_actual, output_layer)
#model.add_loss(loss_model)
model.compile(optimizer='adam', loss= tuner_loss(y_actual,output_layer), metrics=['accuracy']) 
任何帮助都将不胜感激,我想这是必须的 关于我如何操作
调谐器中的tf.tensors\u loss

下面是我在运行上一个代码时收到的错误消息:

“运算符不允许使用
tf.Tensor
作为Python
bool
不允许在图形执行中使用。请使用渴望执行或装饰 此函数带有@tf.function

我尝试了调谐器上的装饰器,这也抛出了一个错误,所以没有工作


启用即时执行也没有…

为什么不使用该标准

model = Model(input_layer, output_layer)
model.compile(loss = tuner_loss, ...)
model.fit(input_data, output_data, ...)

好吧,出于某种原因,我认为这个自定义损失函数需要传入y_true,但我想它可以像使用标准损失函数一样推断它。谢谢,