Keras自定义目标函数中的Tensorflow占位符

2024-04-20 11:34:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要为Keras实现一个定制的目标函数,其中我需要一个额外的tensorflow占位符来进行计算。在tensorflow中,我有如下内容:

pre_cost1 = tf.multiply((self.input_R - self.Decoder) , self.input_mask_R)
cost1 = tf.square(self.l2_norm(pre_cost1))

其中input_mask_R是tensorflow占位符。输入端和解码器分别是对应于Keras损失函数的y_true和y_pred的占位符。我把Keras损失函数实现为

^{pr2}$

我需要在keras的损失函数中添加输入掩码的附加信息。(它需要是tensorflow占位符,因为它是输入的掩码,对于每一行输入数据都是不同的)。在


Tags: 函数self内容目标inputtftensorflowmask
1条回答
网友
1楼 · 发布于 2024-04-20 11:34:58

使用keras后端:

import keras.backend as K

张量的大多数函数都有,例如:

^{pr2}$

但也许,既然你想要一个预先定义好的面具,你需要的是:

input_mask_R = K.constant(arrayWithValues, shape=(yourshape))

你也可以用K.multiplyK.square相乘和平方。这样,如果你想改变后端,一切都会好起来的。(我也不确定Keras是否能处理对tensorflow函数的直接调用……)

请参阅文档:https://keras.io/backend/

相关问题 更多 >