Python 如何在tensorflow2的keras致密层中进行元素相减?

Python 如何在tensorflow2的keras致密层中进行元素相减?,python,python-3.x,tensorflow,keras,tensorflow2.0,Python,Python 3.x,Tensorflow,Keras,Tensorflow2.0,假设我在密集(2)层。如何添加层,首先记录整个张量,然后按元素从第一列减去第二列?多谢各位 array([[1,2], [3,4], [5,6]]) becomes array([[log(2)-log(1)], [log(4)-log(3)], [log(6)-log(5)]]) 我会这样做: input = tf.keras.layers.Input(shape=(2,), dtype=tf.float32) x = tf.ker

假设我在
密集(2)
层。如何添加层,首先记录整个张量,然后按元素从第一列减去第二列?多谢各位

array([[1,2],
       [3,4],
       [5,6]])

becomes

array([[log(2)-log(1)],
       [log(4)-log(3)],
       [log(6)-log(5)]])
我会这样做:

input = tf.keras.layers.Input(shape=(2,), dtype=tf.float32)
x = tf.keras.layers.Dense(2)(input)
x = tf.math.log(x[-1][0]) - tf.math.log(x[-1][1])
model = tf.keras.Model(inputs=input, outputs=x)

或者您必须创建一个自定义层。

使用tf.math和tf.keras.backend之间有区别吗?好问题。我没有使用tf.keras.backend。事实上我没有意识到。我建议将此问题发布到SO