我想tf.matmul在 2 級和 3 級的兩個張量之間廣播一個操作,其中一個包含“未知”形狀的維度(基本上是特定維度中的“無”值)。問題是,與動態維度tf.reshape和tf.broadcast_to似乎并不工作。x = tf.placeholder(shape=[None, 5, 10], dtype=tf.float32)w = tf.ones([10, 20])y = x @ wwith tf.Session() as sess: r1 = sess.run(y, feed_dict={x: np.ones([3, 5, 10])}) r2 = sess.run(y, feed_dict={x: np.ones([7, 5, 10])})以上面的代碼為例。在這種情況下,我將分別喂入 3 個和 7 個元素的兩個不同批次。我希望r1并r2成為w這些批次中 3 或 7 個元素中的每一個的矩陣乘法的結果。因此,r1和的結果形狀r2分別為 (3, 5, 20) 和 (7, 5, 20),但我得到:ValueError: Shape must be rank 2 but is rank 3 for 'matmul' (op: 'MatMul') with input shape: [?,5,10], [10,20]。
添加回答
舉報
0/150
提交
取消