NdArraySequence
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
ลำดับขององค์ประกอบของอาร์เรย์ N มิติ
NdArraySequence
ใช้เพื่อสำรวจ NdArray
ในมิติที่กำหนดและเยี่ยมชมแต่ละองค์ประกอบ ตัวอย่างเช่น เมื่อกำหนดเมทริกซ์ nxm
บนแกน [x, y]
องค์ประกอบจะถูกวนซ้ำตามลำดับต่อไปนี้:
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
วิธีการสาธารณะ
นามธรรม NdArraySequence <T> | เป็นสไลซ์ () ส่งกลับแต่ละองค์ประกอบเป็นชิ้นใหม่ |
ความว่างเปล่าที่เป็นนามธรรม | forEachIndexed (ผู้บริโภค BiConsumer<long[], T>) เยี่ยมชมแต่ละองค์ประกอบของการวนซ้ำนี้และพิกัดที่เกี่ยวข้อง |
วิธีการสืบทอด
จากอินเทอร์เฟซ java.lang.Iterable ความว่างเปล่าที่เป็นนามธรรม | forEach (ผู้บริโภค<? super T> arg0) |
ตัววนซ้ำเชิงนามธรรม<T> | ตัววนซ้ำ () |
ตัวแยกนามธรรม<T> | ตัวแยกสัญญาณ () |
วิธีการสาธารณะ
นามธรรมสาธารณะ NdArraySequence <T> asSlices ()
ส่งกลับแต่ละองค์ประกอบเป็นชิ้นใหม่
แตกต่างจากคอลเลกชัน Java ทั่วไป องค์ประกอบของ NdArraySequence
เป็นแบบชั่วคราว กล่าวคือ อินสแตนซ์ NdArray
ใหม่จะได้รับการจัดสรรสำหรับการวนซ้ำแต่ละครั้ง เพื่อปรับปรุงประสิทธิภาพ คุณสามารถรีไซเคิลอินสแตนซ์เดียวกันเพื่อดูองค์ประกอบทั้งหมดของลำดับนี้ได้ โดยใช้ DataBufferWindow
ในบางกรณี อาจเป็นการดีกว่าที่จะปิดใช้งานการปรับให้เหมาะสมดังกล่าวเพื่อให้แน่ใจว่าแต่ละองค์ประกอบที่ส่งคืนนั้นเป็นชิ้นใหม่ของอาร์เรย์ดั้งเดิม ตัวอย่างเช่น หากองค์ประกอบหนึ่งรายการขึ้นไปที่เยี่ยมชมต้องอยู่นอกขอบเขตของการวนซ้ำของลำดับ 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
การส่งคืน
- ลำดับที่ส่งคืนแต่ละองค์ประกอบที่วนซ้ำเป็นชิ้นใหม่
โมฆะนามธรรมสาธารณะ 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|----------|------------------------------------|"]]