2017-04-15 1 views
0

私は長さが10 train = torch.range(1,10)のデータセットを持っています。私はp = torch.randperm(10)で定義されたランダムな順序でスライスしたいと思います。トーチで定義された順序でテンソルをスライスする方法は?

範囲でスライスを取得するには、a = train[{{1,3}}]を実行して最初の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 

のようなforループを操作することなく、これを取得することができます。

+0

可能な重複[トーチ、テンソルのサブセットを選択する方法?](http://stackoverflow.com/questions/36089868/torch-how-to-select-a-as-a-tensor) – Dimitry

答えて

1

まあ、いずれかのindexがあります、それはしかしlongTensorsが必要ですの

train = torch.range(1,10) 
p = torch.randperm(10):long() 
print(train:index(p)) 
関連する問題