Python 使用KERA将(无,无,2)减少到(无,2)

Python 使用KERA将(无,无,2)减少到(无,2),python,tensorflow,keras,Python,Tensorflow,Keras,解决了 我将keras与函数API一起使用,我有一个张量,即X=(无,2)张量,我需要将它与Y=(无,7)张量连接起来,得到一个(无,9)张量。问题是X和Y的第一个维度未知,因此我必须重复X可变次数z,使其等于Y。我已经知道如何使用RepeatedVector使用未知z重复X,但这会增加一个额外维度(无,无,2)。所以现在我需要一种方法将(None,None,2)展平为(None,2),这样我可以将它们连接起来,留下一个对象(None,9),我可以将其放入一个密集层中 所以我所尝试的 1-tf.

解决了

我将keras与函数API一起使用,我有一个张量,即X=(无,2)张量,我需要将它与Y=(无,7)张量连接起来,得到一个(无,9)张量。问题是X和Y的第一个维度未知,因此我必须重复X可变次数z,使其等于Y。我已经知道如何使用RepeatedVector使用未知z重复X,但这会增加一个额外维度(无,无,2)。所以现在我需要一种方法将(None,None,2)展平为(None,2),这样我可以将它们连接起来,留下一个对象(None,9),我可以将其放入一个密集层中

所以我所尝试的

1-tf.挤压(X),但这会删除所有尺寸(无,无)

2-tf.keras.layers.reforme,但这不接受输出_形状的无参数,因为y是变量

3-K。变平,但这使其成为一维

4-尝试向Y=(1,无,7)添加维度时产生了奇数错误

解决方案:

整形(X,shape=[tf.shape(X)[0]*tf.shape(X)[1],2])

我使用tf.shape()调用None维度并将它们相乘。

解决方案

整形(X,shape=[tf.shape(X)[0]*tf.shape(X)[1],2])

我使用tf.shape()调用None维度并将它们相乘。

解决方案

整形(X,shape=[tf.shape(X)[0]*tf.shape(X)[1],2])


我使用tf.shape()调用None维度并将它们相乘。

当您解决自己的问题时。48小时后,你甚至可以接受自己的答案。当你解决自己的问题时。48小时后,你甚至可以接受自己的答案。