gpt4 book ai didi

python - Tensorflow-两个二维张量的笛卡尔积

转载 作者:行者123 更新时间:2023-12-01 01:50:06 27 4
gpt4 key购买 nike

我有两个二维张量,想要获得它们的笛卡尔积。通过笛卡尔,我的意思是第一张量的每一行与第二张量的每一行的连接。例如:

输入:

[[1,2,3],[4,5,6]]

[[7,8],[9,10]]

输出:

[[1,2,3,7,8],

[1,2,3,9,10],

[4,5,6,7,8],

[4,5,6,9,10]]

我见过this post ,但它不适用于这种情况。什么是最好的?

谢谢

最佳答案

这是一种方法。分别沿第二个和第一个维度重复元素 ab,进一步 reshape 重复的 a 形状,然后连接两个重复的张量。

a_ = tf.reshape(tf.tile(a, [1, b.shape[0]]), (a.shape[0] * b.shape[0], a.shape[1]))
b_ = tf.tile(b, [a.shape[0], 1])

tf.concat([a_, b_], 1).eval()
#array([[ 1, 2, 3, 7, 8],
# [ 1, 2, 3, 9, 10],
# [ 4, 5, 6, 7, 8],
# [ 4, 5, 6, 9, 10]])

关于python - Tensorflow-两个二维张量的笛卡尔积,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50807504/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com