Matrix 如何将以下4dArray相乘以获得Pytorch中的2d数组?

Matrix 如何将以下4dArray相乘以获得Pytorch中的2d数组?,matrix,pytorch,matrix-multiplication,tensor,Matrix,Pytorch,Matrix Multiplication,Tensor,我在用火把。我有一个形状为(C,H,W,K)的4d数组,我想把它乘以另一个形状为(N,C,H,W)的4d数组。 我想要一个最终的二维矩阵(N,K)。 我应该如何在Pytorch中实现这一点? 更一般地说,高阶矩阵乘法是如何工作的?一般来说,有什么规则需要记住吗?你可以用它将4D张量重塑为简单的2D矩阵,然后将它们相乘 x1=x1.视图(-1,x1.形状[-1])#从C-H-W-k->CHW-k x2=x2.视图(x2.形状[0],-1)#从N-C-H-W->N-CHW out=x2@x1#矩阵乘

我在用火把。我有一个形状为(C,H,W,K)的4d数组,我想把它乘以另一个形状为(N,C,H,W)的4d数组。 我想要一个最终的二维矩阵(N,K)。 我应该如何在Pytorch中实现这一点? 更一般地说,高阶矩阵乘法是如何工作的?一般来说,有什么规则需要记住吗?

你可以用它将4D张量重塑为简单的2D矩阵,然后将它们相乘

x1=x1.视图(-1,x1.形状[-1])#从C-H-W-k->CHW-k
x2=x2.视图(x2.形状[0],-1)#从N-C-H-W->N-CHW
out=x2@x1#矩阵乘法
请注意,
视图
的复杂性通常是最小的,因为它通常不会导致在内存中复制和移动张量值-只会更改张量表示的标题

要获得更高级、更灵活的张量乘法,您可能需要查看。

您可以使用将4D张量重塑为简单的2D矩阵,然后将它们相乘

x1=x1.视图(-1,x1.形状[-1])#从C-H-W-k->CHW-k
x2=x2.视图(x2.形状[0],-1)#从N-C-H-W->N-CHW
out=x2@x1#矩阵乘法
请注意,
视图
的复杂性通常是最小的,因为它通常不会导致在内存中复制和移动张量值-只会更改张量表示的标题

对于更高级、更灵活的张量乘法,您可能需要查看