Python 图形错误中不允许使用Keras Add_loss投掷运算符
我创建了一个基本损失函数,它采用CDF(pdf的总和),并在两者之间进行均方误差 代码如下: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,然后注释掉模型。添加
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
作为Pythonbool
不允许在图形执行中使用。请使用渴望执行或装饰
此函数带有@tf.function
我尝试了调谐器上的装饰器,这也抛出了一个错误,所以没有工作
启用即时执行也没有…为什么不使用该标准
model = Model(input_layer, output_layer)
model.compile(loss = tuner_loss, ...)
model.fit(input_data, output_data, ...)
好吧,出于某种原因,我认为这个自定义损失函数需要传入y_true,但我想它可以像使用标准损失函数一样推断它。谢谢,