为了账号安全,请及时绑定邮箱和手机立即绑定

使用动态形状广播 tf.matmul

使用动态形状广播 tf.matmul

陪伴而非守候 2021-09-25 16:53:58
我想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]。
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 240 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号