我有两个标牌,尺寸如下
x_ph = tf.placeholder(tf.float32,[None, 4])
以及
y_ph = tf.placeholder(tf.float32,[None, 4, 3])
我想将x
的每个元素与y_ph
的一行相乘,得到一个(None, 4, 3)
形状的输出
我正在寻找的输出示例
x = np.random.uniform(-1,1, (2,2))
z = np.random.uniform(-1,1, (2,2,3))
x, z
([[ 0.27083503, -0.13795923],[ 0.8436118 , 0.00771057]])
([[[ 0.51905276, 0.01173655, -0.57335926],
[ 0.42347431, -0.05438272, 0.21042366]]
[[ 0.91347706, -0.28086164, 0.54952429],
[ 0.41551953, -0.6207727 , 0.32066292]]]))
我想做以下操作:
result = np.zeros((2,3))
for i in range(2):
for j in range(2):
result[i] += x[i,j]*z[i,j,:]
print(result)
[[ 0.08215548 0.01068127 -0.18431566]
[ 0.77382391 -0.2417247 0.46605767]]
有什么方法可以用tensorflow来做吗
在
x_ph
的末尾添加一个维度,这样就可以使用广播将两个张量相乘:相关问题 更多 >
编程相关推荐