我正在将输入传递给Conv1d层,为此我需要将时间张量(150)和特征张量(150,15)作为[150,150,15]维的单个张量传递,但无法做到
我尝试使用张量流的堆栈函数
inp=tf.stack([features,times],axis=1)
我希望得到shape[times,features]=[150,150,15]
的张量。
但
我收到此错误,
ValueError: Shapes must be equal rank, but are 2 and 1
From merging shape 0 with other shapes. for 'stack' (op: 'Pack') with input shapes: [150,15], [150].
请帮助!!!
答案 0 :(得分:1)
这里有两个问题:
tf.stack()
期望张量和形状相同的张量。在您的情况下,两者都不匹配。在这里,等级基本上是为张量的元素索引所需的索引数。看起来features
的等级为2,而times
的等级为1。times
有150个元素。 features
具有150 * 15 = 2250个元素。您如何期望通过将这两个张量合计为150 + 2250 = 2400个元素来获得150 * 150 * 15 = 337500个元素?除非您计划复制/添加更多元素,否则这是不可能的。