如何在pytorch中操作torch.dot()中由向量组成的矩阵?

bksxznpy  于 2022-11-23  发布在  其他
关注(0)|答案(1)|浏览(147)

我有这样Tensor:

arr1 = np.array([[ 1.6194, -0.6058, -0.8012], [ 1.1483,  1.6538, -0.8062]])
arr2 = np.array([[-0.3180, -1.8249,  0.0499], [-0.4184,  0.6495, -0.4911]])
X = torch.Tensor(arr1)
Y = torch.Tensor(arr2)

我想torch.dot对2DTensor中的每个1DTensor(2个向量)执行www.example.com

torch.dot(X, Y)

我想得到这样的结果Tensor([dotResult1,dotResult2])。但是我得到了这样的错误:

RuntimeError: 1D tensors expected, but got 2D and 2D tensors

我的主要目的是对矩阵中的每一个向量做一些运算,但我不想在这里使用循环,有人知道怎么做吗?

xpcnnkqh

xpcnnkqh1#

假设您要寻找的是Tensor:[torch.dot(X[0], Y[0]), torch.dot(X[1], Y[1])]
然后你可以做:

(X*Y).sum(axis = 1)

测试

(X*Y).sum(axis = 1) == torch.tensor([torch.dot(X[0], Y[0]),torch.dot(X[1], Y[1])])

输出:

tensor([True, True])

相关问题