2017-04-15 2 views
0

길이가 10 train = torch.range(1,10) 인 데이터 세트가 있습니다. p = torch.randperm(10)에 의해 정의 된 임의의 순서로 슬라이스 싶습니다.토치에서 미리 정의 된 순서로 텐서를 조각하는 방법은 무엇입니까?

범위를 기준으로 슬라이스를 얻으려면 a = train[{{1,3}}]을 수행하여 처음 세 요소를 가져옵니다. 그러나 내가 2, 3, 9 요소를 원한다고 말할 수 있습니다. 나는

p[1] = 2, p[2] = 3, p[3] = 9. 

a = train[{{ p[{{1,3}}] }}]

가 작동하지 않습니다이

for i = 1,3 do 
    print(a[{ p[i] }]) 
end 

처럼 루프를 운영하지 않고 얻을 수 있습니다.

+0

가능한 중복 http://stackoverflow.com/questions/36089868/torch-how-to-select-a-subset-of-a-tensor) – Dimitry

답변

1

음, 하나는 그러나 longTensors을 필요로 index있다 :

train = torch.range(1,10) 
p = torch.randperm(10):long() 
print(train:index(p)) 
[? 텐서의 하위 집합을 선택하는 방법 토치, (의
관련 문제