【发布时间】:2021-09-02 15:30:38
【问题描述】:
假设我有一个矩阵,例如 P = [[0,1],[1,0]] 和一个向量 v = [a,b]。如果我将它们相乘,我有:
Pv = [b,a]
矩阵P只是一个置换矩阵,它改变了每个元素的顺序。
现在假设我有相同的 P,但我有矩阵 M1 = [[1,2],[3,4]] 和 M2=[[5,6],[7,8]]。现在让我将它们组合为具有尺寸 (2,2,2) 的 3D 张量 T= [[[1,2],[3,4]], [[5,6],[7,8]]] - (C,W,H)。假设我将 P 乘以 T,这样:
PT = [[[5,6],[7,8]], [[1,2],[3,4]]]
请注意,现在 M1 现在等于 [[5,6],[7,8]] 并且 M2 等于 [[1,2],[3,4]],因为这些值已在 T 中的 C 维度上进行了置换(C,W,H)。
如何使用 matmul 在 pytorch 中乘以 PT(P=2D 张量,T=3D 张量)?以下方法不起作用:
torch.matmul(P, T)
【问题讨论】:
标签: pytorch matrix-multiplication