我有两个张量如下:
归一化张量:
1
10个
94个
[torch.LongStorage of size 3]
和
批次:
1
10个
[torch.LongStorage of size 2]
我想使用' Batch'选择'标准化张量'的三维指数。到目前为止,我使用了如下聚集:
normalized:long():gather(1,batch:long())
不幸的是它返回了这个错误。 "不好的论点#1到'聚集' (输入张量必须与输出#34相同;
任何帮助将不胜感激!感谢
答案 0 :(得分:0)
答案基于以下假设:你有一个大小为x,y,z的三维张量,你想要一个大小为x,y,10的三维张量,其中x,y切片是根据列出的索引选择的另一个大小为1,10的张量。
我个人花了很多时间思考gather
方法的可能用途。我得出的结论只是:它不是上面描述的问题。
使用index
函数可以解决所描述的问题:
local slice = normalised:gather(3, batch[1]:long())