在pytorch1.7版本之后,torch.ger就被torch.outer所代替了
下面展示一些 torch.ger
。
// An highlighted block
>>> import torch
>>> v1 = torch.arange(1., 5.)
>>> v2 = torch.arange(1., 4.)
>>> torch.outer(v1, v2)
tensor([[ 1., 2., 3.],
[ 2., 4., 6.],
[ 3., 6., 9.],
[ 4., 8., 12.]])
>>> v4=torch.tensor([2,4,6,8])
>>> v5=torch.tensor([2.,5.,6.,8.])
>>> torch.ger(v4,v5)
tensor([[ 4., 10., 12., 16.],
[ 8., 20., 24., 32.],
[12., 30., 36., 48.],
[16., 40., 48., 64.]])
>>> torch.ger(v5,v4)
tensor([[ 4., 8., 12., 16.],
[10., 20., 30., 40.],
[12., 24., 36., 48.],
[16., 32., 48., 64.]])
我们可以看出来,torch.ger这个函数是对tensor进行扩维,torch.ger(a,b)实际意思是b中的每一个元素乘以a中的元素,进行扩维