NdArraySequence
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Subkelas Tidak Langsung yang Diketahui |
Urutan elemen array berdimensi N.
NdArraySequence
digunakan untuk melintasi NdArray
dalam dimensi tertentu dan mengunjungi setiap elemennya. Misalnya, matriks nxm
pada sumbu [x, y]
, elemen diiterasi dalam urutan berikut:
x 0 kamu 0 , x 0 kamu 1 , ..., x 0 kamu m-1 , x 1 kamu 0 , x 1 kamu 1 , ..., x n-1 kamu m-1
Metode Publik
abstrak NdArraySequence <T> | |
kekosongan abstrak | forEachIndexed (BiConsumer<long[], T> konsumen) Kunjungi setiap elemen iterasi ini dan koordinatnya masing-masing. |
Metode Warisan
Dari antarmuka java.lang.Iterable kekosongan abstrak | forEach (Konsumen<? super T> arg0) |
abstrak Iterator<T> | pengulangan () |
pemisah abstrak<T> | pemisah () |
Metode Publik
abstrak publik NdArraySequence <T> asSlices ()
Mengembalikan setiap elemen sebagai irisan baru.
Tidak seperti koleksi Java konvensional, elemen NdArraySequence
bersifat sementara, yaitu instance NdArray
baru dialokasikan untuk setiap iterasi. Untuk meningkatkan performa, instance yang sama dapat didaur ulang untuk melihat semua elemen urutan ini, menggunakan DataBufferWindow
.
Namun dalam beberapa kasus, mungkin lebih baik untuk menonaktifkan optimasi tersebut untuk memastikan bahwa setiap elemen yang dikembalikan adalah potongan baru dari array asli. Misalnya, jika satu atau lebih elemen yang dikunjungi harus berada di luar cakupan iterasi urutan, asSlices()
memastikan bahwa semua elemen yang dikembalikan oleh urutan tersebut adalah instance unik.
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
Kembali
- urutan yang mengembalikan setiap elemen yang diulang sebagai irisan baru
public abstract void forEachIndexed (BiConsumer<long[], T> konsumen)
Kunjungi setiap elemen iterasi ini dan koordinatnya masing-masing.
Penting: metode konsumen tidak boleh menyimpan referensi ke koordinat karena koordinat tersebut mungkin dapat diubah dan digunakan kembali selama iterasi untuk meningkatkan kinerja.
Parameter
konsumen | metode untuk memanggil setiap elemen |
---|
,
Subkelas Tidak Langsung yang Diketahui |
Urutan elemen array berdimensi N.
NdArraySequence
digunakan untuk melintasi NdArray
dalam dimensi tertentu dan mengunjungi setiap elemennya. Misalnya, matriks nxm
pada sumbu [x, y]
, elemen diiterasi dalam urutan berikut:
x 0 kamu 0 , x 0 kamu 1 , ..., x 0 kamu m-1 , x 1 kamu 0 , x 1 kamu 1 , ..., x n-1 kamu m-1
Metode Publik
abstrak NdArraySequence <T> | |
kekosongan abstrak | forEachIndexed (BiConsumer<long[], T> konsumen) Kunjungi setiap elemen iterasi ini dan koordinatnya masing-masing. |
Metode Warisan
Dari antarmuka java.lang.Iterable kekosongan abstrak | forEach (Konsumen<? super T> arg0) |
abstrak Iterator<T> | pengulangan () |
pemisah abstrak<T> | pemisah () |
Metode Publik
abstrak publik NdArraySequence <T> asSlices ()
Mengembalikan setiap elemen sebagai irisan baru.
Tidak seperti koleksi Java konvensional, elemen NdArraySequence
bersifat sementara, yaitu instance NdArray
baru dialokasikan untuk setiap iterasi. Untuk meningkatkan performa, instance yang sama dapat didaur ulang untuk melihat semua elemen urutan ini, menggunakan DataBufferWindow
.
Namun dalam beberapa kasus, mungkin lebih baik untuk menonaktifkan optimasi tersebut untuk memastikan bahwa setiap elemen yang dikembalikan adalah potongan baru dari array asli. Misalnya, jika satu atau lebih elemen yang dikunjungi harus berada di luar cakupan iterasi urutan, asSlices()
memastikan bahwa semua elemen yang dikembalikan oleh urutan tersebut adalah instance unik.
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
Kembali
- urutan yang mengembalikan setiap elemen yang diulang sebagai irisan baru
public abstract void forEachIndexed (BiConsumer<long[], T> konsumen)
Kunjungi setiap elemen iterasi ini dan koordinatnya masing-masing.
Penting: metode konsumen tidak boleh menyimpan referensi ke koordinat karena koordinat tersebut mungkin dapat diubah dan digunakan kembali selama iterasi untuk meningkatkan kinerja.
Parameter
konsumen | metode untuk memanggil setiap elemen |
---|
Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-07-26 UTC.
[null,null,["Terakhir diperbarui pada 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|----------|------------------------------------|"]]