2016-05-02 30 views
2

Numpyを使用してできるのと同じ方法で、任意のサイズのNd4jでスライスしたいと思います。Nd4j配列の任意のスライスを取得

a = numpy.arange(100) 
a[25:50] 

nd4jスライス方式は、ディメンションのみとインデックスの引数ではなく、長さを取ります。どうすればこれを達成できますか?

答えて

0

私はそれが古い質問であることを知っていますが、この問題を正確に突き止めながら走っています。

sliceのソースコードを調べると、インデックスからインデックスへ部分的でない完全な行/列しか返せないと考えられます。メソッドgetを使用して、NDArrayIndexインスタンスの引数を使用できます。たとえば、このコードはnumpyコードの翻訳です。

import org.nd4j.linalg.api.ndarray.INDArray; 
import static org.nd4j.linalg.factory.Nd4j.linspace; 
import static org.nd4j.linalg.indexing.NDArrayIndex.interval; 

class SliceExample { 
    public static void main(String[] args) { 
     INDArray a = linspace(0, 99, 100); // up to 99 inclusive 
     INDArray s = a.get(interval(25, 50)); // up to 50th non inclusive 
    } 
} 

NDArrayIndex documentation

関連する問題