【发布时间】:2025-12-16 02:30:01
【问题描述】:
我正在使用 numpy 数组作为 Python 中的 rank > 2 张量,并试图将这样的张量重塑为矩阵,即 rank-2 数组。标准的 ndarray.reshape() 函数并不真正适用于此,因为我需要以特定方式对张量的索引进行分组。我的意思是:假设我从 3 阶张量 T_ijk 开始。例如,我正在尝试找到一个将输出 2 阶张量 T_(j)(ik) 的函数,即对于此示例,所需的输入/输出将是
[Input:] T=np.array([[[1 2]
[3 4]]
[[5 6]
[7 8]]])
[Output:] array([[1, 2, 5, 6],
[3, 4, 7, 8]])
另外,有朋友建议我tensorflow可能有这样的功能,但我没用过。有人对此有任何见解吗?
【问题讨论】:
-
请按照*.com/help/minimal-reproducible-example提供示例输入和输出
-
您需要转置(交换)一些轴以及 reshaoe 以获得您想要的顺序。
-
是的,我看到除了整形之外的几次转置在这样一个简单的例子中是如何工作的,但是如果我正在处理一个更复杂的案例,例如如果我想将 T_ijklmno 转换为 T_(ilo)(jmnk) 必须弄清楚要切换哪些轴以及如何重塑可能会失控......这就是我正在寻找内置解决方案的原因
标签: python numpy tensorflow multidimensional-array tensor