3

我知道张量有一个apply方法,但这只会对每个元素应用一个函数。有没有一种优雅的方式来进行逐行操作?例如,我可以将每一行乘以不同的值吗?

A =
  1 2 3
  4 5 6
  7 8 9

B =
  1
  2
  3

我想将iA 的第 th 行中的每个元素乘以iB 的第 th 元素得到

1 2 3
8 10 12
21 24 27

我该怎么做?

4

2 回答 2

2

请参阅此链接:Torch - 在维度上应用功能

(感谢 Alexander Lutsenko 提供。我只是将其移至答案。)

于 2015-12-23T14:23:12.233 回答
1

一种可能性是扩展 B如下:

 1  1  1
 2  2  2
 3  3  3
[torch.DoubleTensor of size 3x3]

然后你可以直接使用元素乘法

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))
于 2015-12-22T08:26:03.380 回答