2024-04-19 14:23:56 发布
网友
假设我有一个5维矩阵v,现在我想要一个新的矩阵D
v
D
D[a, b, n, m, d] = v[a, b, n, n, d]-v[a, b, m, m, d].
我该如何优雅地在numpy中做到这一点?你知道吗
您希望如何更改维度?你可以这样重塑它
import numpy as np a, b, n, d = 2, 3, 4, 5 v = np.zeros((a, b, n, n, d)) D = v.reshape((a, b, n*n, d))
我发现einsum可以做到这一点:
einsum
D = np.einsum('abiic->abic', v)[..., None, :] - np.einsum('abiic->abic', v)[:, :, None, ...]
您希望如何更改维度?你可以这样重塑它
我发现
einsum
可以做到这一点:相关问题 更多 >
编程相关推荐