Tensor

Tensor ชั้นสุดท้ายสาธารณะ

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

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

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

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

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

บูลีน
booleanValue ()
ส่งคืนค่าในเท Boolean เซอร์ Boolean สเกลาร์
ไบต์ []
bytesValue ()
ส่งคืนค่าในเทนเซอร์ String สเกลาร์
เป็นโมฆะ
ปิด ()
ปล่อยทรัพยากรที่เกี่ยวข้องกับ Tensor
<U> U
copyTo (U dst)
คัดลอกเนื้อหาของเทนเซอร์ไปยัง dst และส่งคืน dst
Tensor คงที่ <?>
สร้าง (Object obj)
สร้างเทนเซอร์จากออบเจ็กต์ที่มีการตรวจสอบคลาสเพื่อดูว่าชนิดข้อมูลพื้นฐานควรเป็นอย่างไร
คง <T> Tensor <T>
สร้าง (ประเภทคลาส <T>, รูปร่าง [] ยาว, ข้อมูล ByteBuffer)
สร้าง Tensor ประเภทใดก็ได้โดยใช้ข้อมูลจากบัฟเฟอร์ที่กำหนด
Tensor แบบคงที่ <Double>
สร้าง (ยาว [] รูปร่างข้อมูล DoubleBuffer)
สร้าง Double Tensor ด้วยข้อมูลจากบัฟเฟอร์ที่กำหนด
Tensor คงที่ <Long>
สร้าง (ยาว [] รูปร่างข้อมูล LongBuffer)
สร้าง Long Tensor ด้วยข้อมูลจากบัฟเฟอร์ที่กำหนด
Tensor แบบคงที่ <Integer>
สร้าง (ยาว [] รูปร่างข้อมูล IntBuffer)
สร้าง Integer Tensor ด้วยข้อมูลจากบัฟเฟอร์ที่กำหนด
Tensor แบบคงที่ <Float>
สร้าง (ยาว [] รูปร่างข้อมูล FloatBuffer)
สร้าง Float Tensor ด้วยข้อมูลจากบัฟเฟอร์ที่กำหนด
คง <T> Tensor <T>
สร้าง (Object obj ประเภทคลาส <T>)
สร้าง Tensor จากวัตถุ Java
ประเภทข้อมูล
dataType ()
ส่งคืน DataType ขององค์ประกอบที่เก็บไว้ใน Tensor
สองเท่า
doubleValue ()
ส่งคืนค่าในสเกลาร์ Double เทนเซอร์
<U> เทนเซอร์ <U>
คาดหวัง (ประเภทคลาส <U>)
ส่งคืนวัตถุ Tensor นี้ด้วยชนิด Tensor<U>
ลอย
floatValue ()
ส่งคืนค่าในสเกลาร์ Float เทนเซอร์
int
intValue ()
ส่งคืนค่าในเทนเซอร์ Integer สเกลาร์
ยาว
longValue ()
ส่งคืนค่าในเทนเซอร์ Long สเกลาร์
int
numBytes ()
ส่งกลับขนาดเป็นไบต์ของข้อมูลเทนเซอร์
int
numDimensions ()
ส่งคืนจำนวนมิติ (บางครั้งเรียกว่า อันดับ ) ของ Tensor
int
ตัวเลข ()
ส่งคืนจำนวนองค์ประกอบในมุมมองแบบแบน (1-D) ของเทนเซอร์
ยาว[]
รูปร่าง ()
ส่งคืน รูปร่าง ของ Tensor นั่นคือขนาดของแต่ละมิติ
สตริง
toString ()
ส่งคืนสตริงที่อธิบายประเภทและรูปร่างของ Tensor
เป็นโมฆะ
writeTo (LongBuffer dst)
เขียนข้อมูลของเทนเซอร์แบบ Long ลงในบัฟเฟอร์ที่กำหนด
เป็นโมฆะ
writeTo (DoubleBuffer dst)
เขียนข้อมูลของเทนเซอร์ Double ลงในบัฟเฟอร์ที่กำหนด
เป็นโมฆะ
writeTo (IntBuffer dst)
เขียนข้อมูลของเทนเซอร์ Integer ลงในบัฟเฟอร์ที่กำหนด
เป็นโมฆะ
writeTo (ByteBuffer dst)
เขียนข้อมูลเทนเซอร์ลงในบัฟเฟอร์ที่กำหนด
เป็นโมฆะ
writeTo (FloatBuffer dst)
เขียนข้อมูลของ Float เทนเซอร์ลงในบัฟเฟอร์ที่กำหนด

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

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

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

ส่งคืนค่าในเท Boolean เซอร์ Boolean สเกลาร์

พ่น
IllegalArgumentException ถ้า Tensor ไม่ได้แสดงถึงสเกลาร์บูลีน

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

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

พ่น
IllegalArgumentException ถ้า Tensor ไม่ได้แสดงถึงสเกลาร์บูลีน

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

ปล่อยทรัพยากรที่เกี่ยวข้องกับ Tensor

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

วัตถุ 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);
 }
 }

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

Tensor แบบคงที่สาธารณะ <?> สร้าง (Object obj)

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

พ่น
IllegalArgumentException ถ้า obj เข้ากันไม่ได้กับระบบประเภท TensorFlow

สาธารณะคง Tensor <T> สร้าง (Class <T> ชนิดยาว [] รูปร่างข้อมูล ByteBuffer)

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

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

พารามิเตอร์
ชนิด ประเภทองค์ประกอบเทนเซอร์แสดงเป็นคลาสออบเจ็กต์
รูปร่าง รูปร่างเทนเซอร์
ข้อมูล บัฟเฟอร์ที่มีข้อมูลเทนเซอร์
พ่น
IllegalArgumentException หากประเภทข้อมูลเทนเซอร์หรือรูปร่างเข้ากันไม่ได้กับบัฟเฟอร์

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Tensor แบบคงที่สาธารณะ <T> สร้าง (Object obj, Class <T> type)

สร้าง Tensor จากวัตถุ Java

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

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

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

 // Invalid: Will throw an IllegalArgumentException as an arbitrary Object
 // does not fit into the TensorFlow type system.
 Tensor<?> 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<Integer> x = Tensor.create(twoD, Integer.class);
 
String -typed Tensors เป็นอาร์เรย์หลายมิติของลำดับไบต์ที่กำหนดเองดังนั้นจึงสามารถเริ่มต้นได้จากอาร์เรย์ขององค์ประกอบ byte[] ตัวอย่างเช่น
// Valid: A String tensor.
 Tensor<String> 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 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 m = Tensor.create(matrix, String.class);
 }

พารามิเตอร์
obj วัตถุที่จะแปลงเป็น Tensor<T> โปรดสังเกตว่าเข้ากันได้กับประเภท T หรือไม่จะไม่ถูกตรวจสอบโดยระบบประเภท สำหรับการสร้างชนิดเซฟของเทนเซอร์ใช้ Tensors
ชนิด คลาสอ็อบเจ็กต์ที่แสดงประเภท T.
พ่น
IllegalArgumentException ถ้า obj เข้ากันไม่ได้กับระบบประเภท TensorFlow

DataType สาธารณะ dataType ()

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

สาธารณะ double doubleValue ()

ส่งคืนค่าในสเกลาร์ Double เทนเซอร์

พ่น
IllegalArgumentException ถ้า Tensor ไม่ได้แสดงถึงสเกลาร์คู่

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

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

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

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

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

พ่น
IllegalArgumentException ถ้า Tensor ไม่ได้แสดงถึงสเกลาร์ลอย

int สาธารณะ intValue ()

ส่งคืนค่าในเทนเซอร์ Integer สเกลาร์

พ่น
IllegalArgumentException ถ้า Tensor ไม่ได้แสดงถึง int สเกลาร์

longValue สาธารณะยาว ()

ส่งคืนค่าในเทนเซอร์ Long สเกลาร์

พ่น
IllegalArgumentException ถ้า Tensor ไม่ได้แสดงถึงสเกลาร์แบบยาว

int numBytes สาธารณะ ()

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

int numDimensions สาธารณะ ()

ส่งคืนจำนวนมิติ (บางครั้งเรียกว่า อันดับ ) ของ Tensor

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

int numElements สาธารณะ ()

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

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

ส่งคืน รูปร่าง ของ Tensor นั่นคือขนาดของแต่ละมิติ

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

สาธารณะ String toString ()

ส่งคืนสตริงที่อธิบายประเภทและรูปร่างของ Tensor

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

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

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

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

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

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

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

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

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

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

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

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

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

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

คัดลอก numBytes() ไบต์ไปยังบัฟเฟอร์ในลำดับไบต์ดั้งเดิมสำหรับชนิดดั้งเดิม

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

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

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

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

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