Tensor

เทน เซอร์คลาสสุดท้ายสาธารณะ

อาร์เรย์หลายมิติที่พิมพ์แบบคงที่ซึ่งมีองค์ประกอบเป็นประเภทที่อธิบายโดย T

อินสแตนซ์ของ Tensor นั้น ไม่ ปลอดภัยต่อเธรด

คำเตือน: ทรัพยากรที่ใช้โดยวัตถุ Tensor จะต้องได้ รับการปลดปล่อยอย่างชัดเจนโดยการเรียกใช้เมธอด close() เมื่อไม่ต้องการวัตถุอีกต่อไป ตัวอย่างเช่น การใช้บล็อก try-with-resources:

try (Tensor t = Tensor.create(...)) {
   doSomethingWith(t);
 }
 

วิธีการสาธารณะ

บูลีน
ค่าบูลีน ()
ส่งคืนค่าเป็นเมตริก Boolean
ไบต์[]
ไบต์ค่า ()
ส่งกลับค่าในเทนเซอร์ String เกลาร์
เป็นโมฆะ
ปิด ()
เผยแพร่ทรัพยากรที่เกี่ยวข้องกับเทนเซอร์
<U> คุณ
copyTo (U dst)
คัดลอกเนื้อหาของเทนเซอร์ไปที่ dst และส่งคืน dst
เทนเซอร์ คงที่ <?>
สร้าง (วัตถุวัตถุ)
สร้างเทนเซอร์จากออบเจ็กต์ที่มีการตรวจสอบคลาสเพื่อดูว่าประเภทข้อมูลพื้นฐานควรเป็นประเภทใด
คงที่ <T> เทนเซอร์ <T>
สร้าง (ประเภท Class<T> รูปร่างยาว[] ข้อมูล ByteBuffer)
สร้างเทนเซอร์ประเภทใดก็ได้ด้วยข้อมูลจากบัฟเฟอร์ที่กำหนด
เทนเซอร์ คงที่ <สองเท่า>
สร้าง (รูปร่างยาว [] ข้อมูล DoubleBuffer)
สร้าง Double Tensor ด้วยข้อมูลจากบัฟเฟอร์ที่กำหนด
เทนเซอร์ คงที่ <ยาว>
สร้าง (รูปร่างยาว [] ข้อมูล LongBuffer)
สร้าง Long Tensor ด้วยข้อมูลจากบัฟเฟอร์ที่กำหนด
เทนเซอร์คง ที่ <จำนวนเต็ม>
สร้าง (รูปร่างยาว [] ข้อมูล IntBuffer)
สร้าง Integer Tensor ด้วยข้อมูลจากบัฟเฟอร์ที่กำหนด
เทนเซอร์ คงที่ <ลอย>
สร้าง (รูปร่างยาว [] ข้อมูล FloatBuffer)
สร้าง Float Tensor ด้วยข้อมูลจากบัฟเฟอร์ที่กำหนด
คงที่ <T> เทนเซอร์ <T>
สร้าง (Object obj, Class<T> type)
สร้างเทนเซอร์จากวัตถุ Java
ประเภทข้อมูล
ประเภทข้อมูล ()
ส่งกลับ DataType ขององค์ประกอบที่เก็บไว้ในเทนเซอร์
สองเท่า
ค่าสองเท่า ()
ส่งกลับค่าในรูปแบบสเกลาร์ Double tensor
<U> เทนเซอร์ <U>
คาดหวัง (ประเภท Class<U>)
ส่งคืนวัตถุ Tensor นี้ด้วยประเภท Tensor&lt;U&gt; -
ลอย
ค่าลอยตัว ()
ส่งกลับค่าในเทนเซอร์ Float เกลาร์
ภายใน
ค่า int ()
ส่งกลับค่าในเมตริกเทนเซอร์ Integer เกลาร์
ยาว
ค่ายาว ()
ส่งคืนค่าเป็นเทนเซอร์ Long แบบสเกลาร์
ภายใน
จำนวนไบต์ ()
ส่งกลับขนาดเป็นไบต์ของข้อมูลเทนเซอร์
ภายใน
numขนาด ()
ส่งกลับจำนวนมิติ (บางครั้งเรียกว่า rank ) ของเทนเซอร์
ภายใน
ตัวเลของค์ประกอบ ()
ส่งกลับจำนวนขององค์ประกอบในมุมมองแบน (1-D) ของเทนเซอร์
ยาว[]
รูปร่าง ()
ส่งกลับ รูปร่าง ของเทนเซอร์ เช่น ขนาดของแต่ละมิติ
สตริง
toString ()
ส่งกลับสตริงที่อธิบายประเภทและรูปร่างของเทนเซอร์
เป็นโมฆะ
writeTo (LongBuffer dst)
เขียนข้อมูลของเทนเซอร์ Long ลงในบัฟเฟอร์ที่กำหนด
เป็นโมฆะ
writeTo (DoubleBuffer dst)
เขียนข้อมูลของ Double tensor ลงในบัฟเฟอร์ที่กำหนด
เป็นโมฆะ
writeTo (IntBuffer dst)
เขียนข้อมูลของเทนเซอร์ Integer ลงในบัฟเฟอร์ที่กำหนด
เป็นโมฆะ
เขียนถึง (ByteBuffer dst)
เขียนข้อมูลเทนเซอร์ลงในบัฟเฟอร์ที่กำหนด
เป็นโมฆะ
writeTo (FloatBuffer dst)
เขียนข้อมูลของ Float เทนเซอร์ลงในบัฟเฟอร์ที่กำหนด

วิธีการสืบทอด

วิธีการสาธารณะ

บูลีนสาธารณะ ค่าบูลีน ()

ส่งคืนค่าเป็นเมตริก Boolean

ขว้าง
ข้อยกเว้นอาร์กิวเมนต์ที่ผิดกฎหมาย ถ้าเทนเซอร์ไม่ได้เป็นตัวแทนของสเกลาร์บูลีน

ไบต์สาธารณะ[] bytesValue ()

ส่งกลับค่าในเทนเซอร์ String เกลาร์

ขว้าง
ข้อยกเว้นอาร์กิวเมนต์ที่ผิดกฎหมาย ถ้าเทนเซอร์ไม่ได้เป็นตัวแทนของสเกลาร์บูลีน

โมฆะสาธารณะ ปิด ()

เผยแพร่ทรัพยากรที่เกี่ยวข้องกับเทนเซอร์

คำเตือน: จะต้องเรียกใช้สิ่งนี้สำหรับเทนเซอร์ทั้งหมดที่ไม่ได้เกิดจากการดำเนินการที่กระตือรือร้น ไม่เช่นนั้นหน่วยความจำจะรั่วไหล

วัตถุ Tensor ไม่สามารถใช้งานได้อีกต่อไปหลังจาก close การส่งคืน

สาธารณะ U copyTo (U dst)

คัดลอกเนื้อหาของเทนเซอร์ไปที่ dst และส่งคืน dst

สำหรับเทนเซอร์ที่ไม่ใช่สเกลาร์ วิธีการนี้จะคัดลอกเนื้อหาของเทนเซอร์ต้นแบบไปยังอาร์เรย์ Java สำหรับเทนเซอร์สเกลาร์ ให้ใช้หนึ่งใน bytesValue() , floatValue() , doubleValue() , intValue() , longValue() หรือ booleanValue() แทน ประเภทและรูปร่างของ dst ต้องเข้ากันได้กับเทนเซอร์ ตัวอย่างเช่น:

int matrix[2][2] = { {1,2},{3,4} };
 try(Tensor t = Tensor.create(matrix)) {
   // Succeeds and prints "3"
   int[][] copy = new int[2][2];
   System.out.println(t.copyTo(copy)[1][0]);

   // Throws IllegalArgumentException since the shape of dst does not match the shape of t.
   int[][] dst = new int[4][1];
   t.copyTo(dst);
 }
 

พารามิเตอร์
วันเวลา
ขว้าง
ข้อยกเว้นอาร์กิวเมนต์ที่ผิดกฎหมาย ถ้าเทนเซอร์เป็นสเกลาร์หรือถ้า dst เข้ากันไม่ได้กับเทนเซอร์ (เช่น ชนิดข้อมูลหรือรูปร่างไม่ตรงกัน)

เทนเซอร์ คงที่สาธารณะ <?> สร้าง (Object obj)

สร้างเทนเซอร์จากออบเจ็กต์ที่มีการตรวจสอบคลาสเพื่อดูว่าประเภทข้อมูลพื้นฐานควรเป็นประเภทใด

พารามิเตอร์
วัตถุ
ขว้าง
ข้อยกเว้นอาร์กิวเมนต์ที่ผิดกฎหมาย ถ้า obj เข้ากันไม่ได้กับระบบประเภท TensorFlow

สร้าง เทนเซอร์ คงที่สาธารณะ <T> (ประเภทคลาส <T> รูปร่างยาว [] ข้อมูล ByteBuffer)

สร้างเทนเซอร์ประเภทใดก็ได้ด้วยข้อมูลจากบัฟเฟอร์ที่กำหนด

สร้าง Tensor ด้วยรูปร่างที่ระบุไว้ในประเภทใดก็ตามที่มีการเข้ารหัสข้อมูลของ Tensor ลงใน data ตามข้อกำหนดเฉพาะของ TensorFlow C API

พารามิเตอร์
พิมพ์ ประเภทองค์ประกอบเทนเซอร์ซึ่งแสดงเป็นวัตถุคลาส
รูปร่าง รูปร่างเทนเซอร์
ข้อมูล บัฟเฟอร์ที่มีข้อมูลเทนเซอร์
ขว้าง
ข้อยกเว้นอาร์กิวเมนต์ที่ผิดกฎหมาย หากประเภทข้อมูลหรือรูปร่างของเทนเซอร์เข้ากันไม่ได้กับบัฟเฟอร์

สร้าง Tensor คงที่สาธารณะ <Double> (รูปร่างยาว [] ข้อมูล DoubleBuffer)

สร้าง Double Tensor พร้อมข้อมูลจากบัฟเฟอร์ที่กำหนด

สร้างเทนเซอร์ตามรูปร่างที่กำหนดโดยการคัดลอกองค์ประกอบจากบัฟเฟอร์ (เริ่มจากตำแหน่งปัจจุบัน) ลงในเทนเซอร์ ตัวอย่างเช่น หาก shape = {2,3} (ซึ่งแสดงถึงเมทริกซ์ 2x3) บัฟเฟอร์จะต้องมีองค์ประกอบที่เหลืออยู่ 6 รายการ ซึ่งวิธีนี้จะใช้ไป

พารามิเตอร์
รูปร่าง รูปร่างเทนเซอร์
ข้อมูล บัฟเฟอร์ที่มีข้อมูลเทนเซอร์
ขว้าง
ข้อยกเว้นอาร์กิวเมนต์ที่ผิดกฎหมาย หากรูปร่างของเทนเซอร์ไม่เข้ากันกับบัฟเฟอร์

สร้าง เทนเซอร์ คงที่สาธารณะ <Long> (รูปร่างยาว [] ข้อมูล LongBuffer)

สร้าง Long Tensor ด้วยข้อมูลจากบัฟเฟอร์ที่กำหนด

สร้างเทนเซอร์ตามรูปร่างที่กำหนดโดยการคัดลอกองค์ประกอบจากบัฟเฟอร์ (เริ่มจากตำแหน่งปัจจุบัน) ลงในเทนเซอร์ ตัวอย่างเช่น หาก shape = {2,3} (ซึ่งแสดงถึงเมทริกซ์ 2x3) บัฟเฟอร์จะต้องมีองค์ประกอบที่เหลืออยู่ 6 รายการ ซึ่งวิธีนี้จะใช้ไป

พารามิเตอร์
รูปร่าง รูปร่างเทนเซอร์
ข้อมูล บัฟเฟอร์ที่มีข้อมูลเทนเซอร์
ขว้าง
ข้อยกเว้นอาร์กิวเมนต์ที่ผิดกฎหมาย หากรูปร่างของเทนเซอร์ไม่เข้ากันกับบัฟเฟอร์

สร้าง เทนเซอร์ คงที่สาธารณะ <จำนวนเต็ม> (รูปร่างยาว [] ข้อมูล IntBuffer)

สร้าง Integer Tensor ด้วยข้อมูลจากบัฟเฟอร์ที่กำหนด

สร้างเทนเซอร์ตามรูปร่างที่กำหนดโดยการคัดลอกองค์ประกอบจากบัฟเฟอร์ (เริ่มจากตำแหน่งปัจจุบัน) ลงในเทนเซอร์ ตัวอย่างเช่น หาก shape = {2,3} (ซึ่งแสดงถึงเมทริกซ์ 2x3) บัฟเฟอร์จะต้องมีองค์ประกอบที่เหลืออยู่ 6 รายการ ซึ่งวิธีนี้จะใช้ไป

พารามิเตอร์
รูปร่าง รูปร่างเทนเซอร์
ข้อมูล บัฟเฟอร์ที่มีข้อมูลเทนเซอร์
ขว้าง
ข้อยกเว้นอาร์กิวเมนต์ที่ผิดกฎหมาย หากรูปร่างของเทนเซอร์ไม่เข้ากันกับบัฟเฟอร์

สร้างเทนเซอร์ คงที่สาธารณะ <Float> สร้าง (รูปร่างยาว [] ข้อมูล FloatBuffer)

สร้าง Float Tensor ด้วยข้อมูลจากบัฟเฟอร์ที่กำหนด

สร้างเทนเซอร์ตามรูปร่างที่กำหนดโดยการคัดลอกองค์ประกอบจากบัฟเฟอร์ (เริ่มจากตำแหน่งปัจจุบัน) ลงในเทนเซอร์ ตัวอย่างเช่น หาก shape = {2,3} (ซึ่งแสดงถึงเมทริกซ์ 2x3) บัฟเฟอร์จะต้องมีองค์ประกอบที่เหลืออยู่ 6 รายการ ซึ่งวิธีนี้จะใช้ไป

พารามิเตอร์
รูปร่าง รูปร่างเทนเซอร์
ข้อมูล บัฟเฟอร์ที่มีข้อมูลเทนเซอร์
ขว้าง
ข้อยกเว้นอาร์กิวเมนต์ที่ผิดกฎหมาย หากรูปร่างของเทนเซอร์ไม่เข้ากันกับบัฟเฟอร์

สร้าง เทนเซอร์ คงที่สาธารณะ <T> (วัตถุ obj, ประเภทคลาส <T>)

สร้างเทนเซอร์จากวัตถุ Java

Tensor เป็นอาร์เรย์หลายมิติขององค์ประกอบประเภทจำกัด ออบเจ็กต์ Java บางรายการไม่สามารถแปลงเป็น Tensor ได้ โดยเฉพาะอย่างยิ่ง อาร์กิวเมนต์ obj ต้องเป็นค่าดั้งเดิม (float, double, int, long, boolean, byte) หรืออาร์เรย์หลายมิติของหนึ่งในค่าพื้นฐานเหล่านั้น type อาร์กิวเมนต์ระบุวิธีตีความอาร์กิวเมนต์แรกเป็นประเภท TensorFlow ตัวอย่างเช่น:

// Valid: A 64-bit integer scalar.
 Tensor&lt;Long&gt; s = Tensor.create(42L, Long.class);

 // Valid: A 3x2 matrix of floats.
 float[][] matrix = new float[3][2];
 Tensor&lt;Float&gt; m = Tensor.create(matrix, Float.class);

 // Invalid: Will throw an IllegalArgumentException as an arbitrary Object
 // does not fit into the TensorFlow type system.
 Tensor&lt;?&gt; o = Tensor.create(new Object())

 // Invalid: Will throw an IllegalArgumentException since there are
 // a differing number of elements in each row of this 2-D array.
 int[][] twoD = new int[2][];
 twoD[0] = new int[1];
 twoD[1] = new int[2];
 Tensor&lt;Integer&gt; x = Tensor.create(twoD, Integer.class);
 
เทนเซอร์ที่พิมพ์ String เป็นอาร์เรย์หลายมิติของลำดับไบต์ที่กำหนดเอง ดังนั้นจึงสามารถเริ่มต้นได้จากอาร์เรย์ขององค์ประกอบ byte[] ตัวอย่างเช่น:
// Valid: A String tensor.
 Tensor&lt;String&gt; s = Tensor.create(new byte[]{1, 2, 3}, String.class);

 // Java Strings will need to be encoded into a byte-sequence.
 String mystring = "foo";
 Tensor&lt;String&gt; s = Tensor.create(mystring.getBytes("UTF-8"), String.class);

 // Valid: Matrix of String tensors.
 // Each element might have a different length.
 byte[][][] matrix = new byte[2][2][];
 matrix[0][0] = "this".getBytes("UTF-8");
 matrix[0][1] = "is".getBytes("UTF-8");
 matrix[1][0] = "a".getBytes("UTF-8");
 matrix[1][1] = "matrix".getBytes("UTF-8");
 Tensor&lt;String&gt; m = Tensor.create(matrix, String.class);
 

พารามิเตอร์
วัตถุ วัตถุที่จะแปลงเป็น Tensor&lt;T&gt; - โปรดทราบว่าเข้ากันได้กับประเภท T หรือไม่นั้นไม่ได้ตรวจสอบโดยระบบประเภท สำหรับการสร้างเทนเซอร์แบบปลอดภัย ให้ใช้ Tensors
พิมพ์ คลาสอ็อบเจ็กต์ที่แสดงถึงประเภท T
ขว้าง
ข้อยกเว้นอาร์กิวเมนต์ที่ผิดกฎหมาย ถ้า obj เข้ากันไม่ได้กับระบบประเภท TensorFlow

ประเภทข้อมูล สาธารณะ dataType ()

ส่งกลับ DataType ขององค์ประกอบที่เก็บไว้ในเทนเซอร์

สาธารณะ double doubleValue ()

ส่งกลับค่าในรูปแบบสเกลาร์ Double tensor

ขว้าง
ข้อยกเว้นอาร์กิวเมนต์ที่ผิดกฎหมาย ถ้าเทนเซอร์ไม่ได้เป็นตัวแทนของสเกลาร์สองเท่า

เทนเซอร์ สาธารณะ <U> คาดหวัง (ประเภทคลาส <U>)

ส่งคืนวัตถุ Tensor นี้ด้วยประเภท Tensor&lt;U&gt; - วิธีนี้จะมีประโยชน์เมื่อกำหนดค่าประเภท Tensor&lt;?&gt; -

พารามิเตอร์
พิมพ์ อาร์เรย์ใดๆ (ไม่ใช่ค่าว่าง) ของประเภทที่ถูกต้อง
ขว้าง
ข้อยกเว้นอาร์กิวเมนต์ที่ผิดกฎหมาย หากชนิดข้อมูลจริงของวัตถุนี้ไม่ตรงกับประเภท U

สาธารณะลอย floatValue ()

ส่งกลับค่าในเทนเซอร์ Float เกลาร์

ขว้าง
ข้อยกเว้นอาร์กิวเมนต์ที่ผิดกฎหมาย ถ้าเทนเซอร์ไม่ได้เป็นตัวแทนของสเกลาร์โฟลต

int สาธารณะ intValue ()

ส่งกลับค่าในเมตริกเทนเซอร์ Integer เกลาร์

ขว้าง
ข้อยกเว้นอาร์กิวเมนต์ที่ผิดกฎหมาย ถ้าเทนเซอร์ไม่ได้เป็นตัวแทนของ int สเกลาร์

สาธารณะ long longValue ()

ส่งคืนค่าเป็นเทนเซอร์ Long แบบสเกลาร์

ขว้าง
ข้อยกเว้นอาร์กิวเมนต์ที่ผิดกฎหมาย ถ้าเทนเซอร์ไม่ได้แสดงถึงสเกลาร์แบบยาว

สาธารณะ int numBytes ()

ส่งกลับขนาดเป็นไบต์ของข้อมูลเทนเซอร์

สาธารณะ int numDimensions ()

ส่งกลับจำนวนมิติ (บางครั้งเรียกว่า rank ) ของเทนเซอร์

จะเป็น 0 สำหรับสเกลาร์, 1 สำหรับเวกเตอร์, 2 สำหรับเมทริกซ์, 3 สำหรับเทนเซอร์ 3 มิติ เป็นต้น

สาธารณะ int numElements ()

ส่งกลับจำนวนขององค์ประกอบในมุมมองแบน (1-D) ของเทนเซอร์

สาธารณะ ยาว[] รูปร่าง ()

ส่งกลับ รูปร่าง ของเทนเซอร์ เช่น ขนาดของแต่ละมิติ

การส่งคืน
  • อาร์เรย์ที่องค์ประกอบ i-th คือขนาดของมิติ i-th ของเมตริกซ์

สตริงสาธารณะ toString ()

ส่งกลับสตริงที่อธิบายประเภทและรูปร่างของเทนเซอร์

โมฆะสาธารณะ writeTo (LongBuffer dst)

เขียนข้อมูลของเทนเซอร์ Long ลงในบัฟเฟอร์ที่กำหนด

คัดลอกองค์ประกอบ numElements() ไปยังบัฟเฟอร์

พารามิเตอร์
วันเวลา บัฟเฟอร์ปลายทาง
ขว้าง
BufferOverflowException หากบัฟเฟอร์ที่กำหนดมีพื้นที่ไม่เพียงพอสำหรับข้อมูลในเทนเซอร์นี้
ข้อยกเว้นอาร์กิวเมนต์ที่ผิดกฎหมาย หากประเภทข้อมูลเทนเซอร์ไม่ Long

โมฆะสาธารณะ writeTo (DoubleBuffer dst)

เขียนข้อมูลของ Double tensor ลงในบัฟเฟอร์ที่กำหนด

คัดลอกองค์ประกอบ numElements() ไปยังบัฟเฟอร์

พารามิเตอร์
วันเวลา บัฟเฟอร์ปลายทาง
ขว้าง
BufferOverflowException หากบัฟเฟอร์ที่กำหนดมีพื้นที่ไม่เพียงพอสำหรับข้อมูลในเทนเซอร์นี้
ข้อยกเว้นอาร์กิวเมนต์ที่ผิดกฎหมาย หากประเภทข้อมูลเทนเซอร์ไม่ใช่ Double

โมฆะสาธารณะ writeTo (IntBuffer dst)

เขียนข้อมูลของเทนเซอร์ Integer ลงในบัฟเฟอร์ที่กำหนด

คัดลอกองค์ประกอบ numElements() ไปยังบัฟเฟอร์

พารามิเตอร์
วันเวลา บัฟเฟอร์ปลายทาง
ขว้าง
BufferOverflowException หากบัฟเฟอร์ที่กำหนดมีพื้นที่ไม่เพียงพอสำหรับข้อมูลในเทนเซอร์นี้
ข้อยกเว้นอาร์กิวเมนต์ที่ผิดกฎหมาย หากชนิดข้อมูลเทนเซอร์ไม่ใช่ Integer

โมฆะสาธารณะ writeTo (ByteBuffer dst)

เขียนข้อมูลเทนเซอร์ลงในบัฟเฟอร์ที่กำหนด

คัดลอก numBytes() ไปยังบัฟเฟอร์ตามลำดับไบต์ดั้งเดิมสำหรับประเภทดั้งเดิม

พารามิเตอร์
วันเวลา บัฟเฟอร์ปลายทาง
ขว้าง
BufferOverflowException หากบัฟเฟอร์ที่กำหนดมีพื้นที่ไม่เพียงพอสำหรับข้อมูลในเทนเซอร์นี้

โมฆะสาธารณะ writeTo (FloatBuffer dst)

เขียนข้อมูลของ Float เทนเซอร์ลงในบัฟเฟอร์ที่กำหนด

คัดลอกองค์ประกอบ numElements() ไปยังบัฟเฟอร์

พารามิเตอร์
วันเวลา บัฟเฟอร์ปลายทาง
ขว้าง
BufferOverflowException หากบัฟเฟอร์ที่กำหนดมีพื้นที่ไม่เพียงพอสำหรับข้อมูลในเทนเซอร์นี้
ข้อยกเว้นอาร์กิวเมนต์ที่ผิดกฎหมาย หากประเภทข้อมูลเทนเซอร์ไม่ใช่ Float