pytorch 计算点积向量

insrf1ej  于 2023-03-18  发布在  其他
关注(0)|答案(2)|浏览(175)

我如何做下面的点积最好使用pytorch tensordot()
假设我有向量A和向量B:

  1. [a1,a2] . [b1,b2,b3] =

我想得到的结果是:

  1. [
  2. a1 * b1 + a2 * b1,
  3. a1 * b2 + a2 * b2,
  4. a1 * b3 + a2 * b3
  5. ]

向量乘向量=点积向量

zzzyeukh

zzzyeukh1#

统一理论可能很方便:

  1. torch.einsum('i,j->j', torch.Tensor(a), torch.Tensor(b))
zbdgwd5y

zbdgwd5y2#

下面的代码将向量转换为矩阵乘法,并对一行中的所有值求和。

  1. import torch
  2. tensor1 = torch.tensor([1,2]).unsqueeze(0)
  3. tensor2 = torch.tensor([3,4,5]).unsqueeze(0)
  4. result = torch.sum(tensor2.t() @ tensor1, dim=1)
  5. print(result)

结果:

  1. tensor([ 9, 12, 15])

相关问题