我知道张量有一个apply
方法,但这只对每个元素应用一个函数。是否有一种优雅的方式来进行逐行操作?例如,我可以将每一行乘以不同的值吗?
说
A =
1 2 3
4 5 6
7 8 9
和
B =
1
2
3
我希望将A的i
行中的每个元素乘以B的i
元素来获取
1 2 3
8 10 12
21 24 27
我该怎么做?
答案 0 :(得分:1)
请参阅此链接:Torch - Apply function over dimension
(感谢Alexander Lutsenko提供它。我只是将其转移到答案。)
答案 1 :(得分:0)
一种可能性是expand B
如下:
1 1 1
2 2 2
3 3 3
[torch.DoubleTensor of size 3x3]
然后您可以直接使用element-wise multiplication:
local A = torch.Tensor{{1,2,3},{4,5,6},{7,8,9}}
local B = torch.Tensor{1,2,3}
local C = A:cmul(B:view(3,1):expand(3,3))