NdArraySequence
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
N 次元配列の要素のシーケンス。
NdArraySequence
、指定された次元でNdArray
を走査し、その各要素にアクセスするために使用されます。たとえば、 [x, y]
軸上のnxm
行列の場合、要素は次の順序で反復されます。
x 0 y 0 、 x 0 y 1 、 ...、 x 0 y m-1 、 x 1 y 0 、 x 1 y 1 、 ...、 x n-1 y m-1
継承されたメソッド
インターフェース java.lang.Iterable から抽象的な空白 | forEach (Consumer<? super T> arg0) |
抽象反復子<T> | イテレータ() |
抽象 Spliterator<T> | スプリテレーター() |
パブリックメソッド
public abstract NdArraySequence <T> asSlices ()
各要素を新しいスライスとして返します。
従来の Java コレクションとは異なり、 NdArraySequence
の要素は一時的です。つまり、新しいNdArray
インスタンスが反復ごとに割り当てられます。パフォーマンスを向上させるために、 DataBufferWindow
を使用して同じインスタンスをリサイクルして、このシーケンスのすべての要素を表示できます。
ただし、場合によっては、返される各要素が元の配列の新しいスライスであることを確認するために、このような最適化を無効にした方がよい場合もあります。たとえば、訪問した 1 つ以上の要素がシーケンス反復の範囲を超えて存在する必要がある場合、 asSlices()
シーケンスによって返されるすべての要素が一意のインスタンスであることを確認します。
final List<IntNdArray> vectors = new ArrayList<>();
IntNdArray matrix = NdArrays.ofInts(Shape.of(6, 6));
ndArray.elements(0).forEach(e -> vectors::add); // Not safe, as `e` might always be the same recycled instance
ndArray.elements(0).asSlices().forEach(e -> vectors::add); // Safe, each `e` is a distinct NdArray instance
返品
- 新しいスライスとして反復された各要素を返すシーケンス
public abstract void forEachIndexed (BiConsumer<long[], T> Consumer)
この反復の各要素とそれぞれの座標にアクセスします。
重要: 座標は変更可能であり、パフォーマンスを向上させるために反復中に再利用される可能性があるため、コンシューマ メソッドは座標への参照を保持すべきではありません。
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-07-26 UTC。
[null,null,["最終更新日 2025-07-26 UTC。"],[],[],null,["# NdArraySequence\n\npublic interface **NdArraySequence** \n\n|---|---|---|\n| Known Indirect Subclasses [FastElementSequence](/jvm/api_docs/java/org/tensorflow/ndarray/impl/sequence/FastElementSequence)\\\u003cT, U extends [NdArray](/jvm/api_docs/java/org/tensorflow/ndarray/NdArray)\\\u003cT\\\u003e\\\u003e, [SingleElementSequence](/jvm/api_docs/java/org/tensorflow/ndarray/impl/sequence/SingleElementSequence)\\\u003cT, U extends [NdArray](/jvm/api_docs/java/org/tensorflow/ndarray/NdArray)\\\u003cT\\\u003e\\\u003e, [SlicingElementSequence](/jvm/api_docs/java/org/tensorflow/ndarray/impl/sequence/SlicingElementSequence)\\\u003cT, U extends [NdArray](/jvm/api_docs/java/org/tensorflow/ndarray/NdArray)\\\u003cT\\\u003e\\\u003e |--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------| | [FastElementSequence](/jvm/api_docs/java/org/tensorflow/ndarray/impl/sequence/FastElementSequence)\\\u003cT, U extends [NdArray](/jvm/api_docs/java/org/tensorflow/ndarray/NdArray)\\\u003cT\\\u003e\\\u003e | A sequence recycling the same `NdArray` instance when iterating its elements | | [SingleElementSequence](/jvm/api_docs/java/org/tensorflow/ndarray/impl/sequence/SingleElementSequence)\\\u003cT, U extends [NdArray](/jvm/api_docs/java/org/tensorflow/ndarray/NdArray)\\\u003cT\\\u003e\\\u003e | A sequence of one single element | | [SlicingElementSequence](/jvm/api_docs/java/org/tensorflow/ndarray/impl/sequence/SlicingElementSequence)\\\u003cT, U extends [NdArray](/jvm/api_docs/java/org/tensorflow/ndarray/NdArray)\\\u003cT\\\u003e\\\u003e | A sequence creating a new `NdArray` instance (slice) for each element of an iteration | |||\n\nA sequence of elements of an N-dimensional array.\n\nAn `NdArraySequence` is used to traverse an `NdArray` in a given dimension\nand visit each of its elements. For example, given a `n x m` matrix on the `[x, y]` axes,\nelements are iterated in the following order:\n\nx~0~y~0~, x~0~y~1~, ..., x~0~y~m-1~, x~1~y~0~, x~1~y~1~, ..., x~n-1~y~m-1~\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n### Public Methods\n\n|--------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| abstract [NdArraySequence](/jvm/api_docs/java/org/tensorflow/ndarray/NdArraySequence)\\\u003cT\\\u003e | [asSlices](/jvm/api_docs/java/org/tensorflow/ndarray/NdArraySequence#asSlices())() Returns each element as a new slice. |\n| abstract void | [forEachIndexed](/jvm/api_docs/java/org/tensorflow/ndarray/NdArraySequence#forEachIndexed(java.util.function.BiConsumer\u003clong[], T\u003e))(BiConsumer\\\u003clong\\[\\], T\\\u003e consumer) Visit each elements of this iteration and their respective coordinates. |\n\n### Inherited Methods\n\nFrom interface java.lang.Iterable \n\n|---------------------------|-------------------------------------|\n| abstract void | forEach(Consumer\\\u003c? super T\\\u003e arg0) |\n| abstract Iterator\\\u003cT\\\u003e | iterator() |\n| abstract Spliterator\\\u003cT\\\u003e | spliterator() |\n\nPublic Methods\n--------------\n\n#### public abstract [NdArraySequence](/jvm/api_docs/java/org/tensorflow/ndarray/NdArraySequence)\\\u003cT\\\u003e\n**asSlices**\n()\n\nReturns each element as a new slice.\n\nUnlike conventional Java collections, elements of a `NdArraySequence` are transient, i.e. new `NdArray`\ninstances are allocated for each iteration. To improve performance, the same instance can be recycled to view\nall elements of this sequence, using a [DataBufferWindow](/jvm/api_docs/java/org/tensorflow/ndarray/buffer/DataBufferWindow).\n\nIn some cases though, it might be preferable to disable such optimizations to ensure that each element returned is a\nnew slice of the original array. For example, if one or more elements visited must live beyond the scope of the sequence\niteration, `asSlices()` makes sure that all elements returned by the sequence are unique instances.\n\n final List\u003cIntNdArray\u003e vectors = new ArrayList\u003c\u003e();\n IntNdArray matrix = NdArrays.ofInts(Shape.of(6, 6));\n ndArray.elements(0).forEach(e -\u003e vectors::add); // Not safe, as `e` might always be the same recycled instance\n ndArray.elements(0).asSlices().forEach(e -\u003e vectors::add); // Safe, each `e` is a distinct NdArray instance\n \n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n##### Returns\n\n- a sequence that returns each elements iterated as a new slice \n\n##### See Also\n\n- [DataBufferWindow](/jvm/api_docs/java/org/tensorflow/ndarray/buffer/DataBufferWindow) \n\n#### public abstract void\n**forEachIndexed**\n(BiConsumer\\\u003clong\\[\\], T\\\u003e consumer)\n\nVisit each elements of this iteration and their respective coordinates.\n\n*Important: the consumer method should not keep a reference to the coordinates\nas they might be mutable and reused during the iteration to improve performance.*\n\n\u003cbr /\u003e\n\n##### Parameters\n\n| consumer | method to invoke for each elements |\n|----------|------------------------------------|"]]