我有一个长度为10 train = torch.range(1,10)
的数据集。我想以p = torch.randperm(10)
定义的随机顺序对其进行切片。
要按范围切片,可以a = train[{{1,3}}]
来获取前三个元素的元素。但是让我说我想要第2,第3和第9个元素。我可以在没有像这样运行for循环的情况下得到它吗
for i = 1,3 do
print(a[{ p[i] }])
end
其中
p[1] = 2, p[2] = 3, p[3] = 9.
a = train[{{ p[{{1,3}}] }}]
不起作用。
答案 0 :(得分:1)
嗯,对于一个index,它需要longTensors:
train = torch.range(1,10)
p = torch.randperm(10):long()
print(train:index(p))