Torch/Lua 二维张量与一维张量的逐元素乘积

我正在尝试对二维批次张量(128x512)和一维张量(512)进行逐元素乘积。

目前,我是这样做的:

   nbatch = input:size(1)
   for i = 1 , nbatch , 1 do
      self.output[i]:cmul(self.noise)
   end

它有效并且我得到了预期的结果,但我认为这不是最佳的高效方式。

有没有更有效率的方法?

如何对 n 维张量逐元素乘以(n-1)D 张量进行扩展?

谢谢!

点赞
用户1688185
用户1688185
`self.output:cmul(self.noise:view(1, self.output:size(2)):expandAs(self.output))`

self.noise 视图化为大小为 (1, self.output:size(2)),然后将其扩展为与 self.output 相同的大小并对两者进行逐元素乘法。

2016-06-25 15:32:44