如何在pytorch中实现Tensor的转置和自乘

9wbgstp7  于 2023-01-02  发布在  其他
关注(0)|答案(1)|浏览(160)

我得到的是下面的Tensor:

a = np.array([[1,1], [2,2], [3,3]])
t = torch.from_numpy(a)

我需要一个运算来得到下面的矩阵:
enter image description here
这个矩阵包含Tensor的元素点积,如果它乘以它的转置版本,即对角线上的第一个元素是1x 1 + 1x 1 = 2,对角线上的第二个元素是2x2 + 2x2 = 8,第一列的第二个元素是1x 2 + 1x 2 = 4,以此类推。从Tensort开始?谢谢!
我尝试了各种组合的 Torch 。Tensor点, Torch 。转置等。

1zmg4dgp

1zmg4dgp1#

快来!

print(torch.einsum("ik,jk->ij", t, t))
print(torch.einsum("ki,kj->ij", t, t))
tensor([[ 2,  4,  6],
        [ 4,  8, 12],
        [ 6, 12, 18]], dtype=torch.int32)
        
tensor([[14, 14],
        [14, 14]], dtype=torch.int32)

相关问题