火炬'聚集'问题

时间:2017-08-16 09:51:43

标签: lua torch

我有两个张量如下:

  

归一化张量:
  1
  10个
  94个
  [torch.LongStorage of size 3]

  

批次:
  1
  10个
   [torch.LongStorage of size 2]

我想使用' Batch'选择'标准化张量'的三维指数。到目前为止,我使用了如下聚集:

normalized:long():gather(1,batch:long())

不幸的是它返回了这个错误。 "不好的论点#1到'聚集' (输入张量必须与输出#34相同;

任何帮助将不胜感激!感谢

1 个答案:

答案 0 :(得分:0)

答案基于以下假设:你有一个大小为x,y,z的三维张量,你想要一个大小为x,y,10的三维张量,其中x,y切片是根据列出的索引选择的另一个大小为1,10的张量。

我个人花了很多时间思考gather方法的可能用途。我得出的结论只是:它不是上面描述的问题。

使用index函数可以解决所描述的问题:

local slice = normalised:gather(3, batch[1]:long())