Cha*_*has 2 python pytorch tensor
我正在尝试使用PyTorch生成矢量矩阵外积(张量)。假设向量v
有大小p
,矩阵M
有大小qXr
,则乘积的结果应为pXqXr。
例:
#size: 2
v = [0, 1]
#size: 2X3
M = [[0, 1, 2],
[3, 4, 5]]
#size: 2X2X3
v*M = [[[0, 0, 0],
[0, 0, 0]],
[[0, 1, 2],
[3, 4, 5]]]
Run Code Online (Sandbox Code Playgroud)
对于两个矢量v1
和v2
,我可以使用torch.bmm(v1.view(1, -1, 1), v2.view(1, 1, -1))
。这可以很容易地扩展为一批向量。但是,我找不到向量矩阵案例的解决方案。另外,我需要对一批向量和矩阵执行此操作。
你可以用einsum
torch.einsum('bp, bqr->bpqr', v, M) #batch version (v.shape=(b,p) M.shape=(b,q,r))
torch.einsum('p, qr->pqr', v, M) #non batch version
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
937 次 |
最近记录: |