อาร์เรย์หลายมิติที่พิมพ์แบบคงที่ซึ่งองค์ประกอบเป็นประเภทที่อธิบายโดย T.
อินสแตนซ์ของ Tensor ไม่ ปลอดภัยต่อเธรด
คำเตือน: ทรัพยากรที่ใช้โดยวัตถุ Tensor ต้อง ได้รับการปลดปล่อยอย่างชัดเจนโดยการเรียกใช้เมธอด close()
เมื่อไม่ต้องการวัตถุอีกต่อไป ตัวอย่างเช่นการใช้บล็อก try-with-resources:
try (Tensor t = Tensor.create(...)) {
doSomethingWith(t);
}
วิธีการสาธารณะ
บูลีน | booleanValue () |
ไบต์ [] | bytesValue () ส่งคืนค่าในเทนเซอร์ String สเกลาร์ |
เป็นโมฆะ | ปิด () ปล่อยทรัพยากรที่เกี่ยวข้องกับ Tensor |
<U> U | copyTo (U dst) คัดลอกเนื้อหาของเทนเซอร์ไปยัง dst และส่งคืน dst |
Tensor คงที่ <?> | สร้าง (Object obj) สร้างเทนเซอร์จากออบเจ็กต์ที่มีการตรวจสอบคลาสเพื่อดูว่าชนิดข้อมูลพื้นฐานควรเป็นอย่างไร |
คง <T> Tensor <T> | สร้าง (ประเภทคลาส <T>, รูปร่าง [] ยาว, ข้อมูล ByteBuffer) สร้าง Tensor ประเภทใดก็ได้โดยใช้ข้อมูลจากบัฟเฟอร์ที่กำหนด |
Tensor แบบคงที่ <Double> | |
Tensor คงที่ <Long> | |
Tensor แบบคงที่ <Integer> | |
Tensor แบบคงที่ <Float> | |
คง <T> Tensor <T> | สร้าง (Object obj ประเภทคลาส <T>) สร้าง Tensor จากวัตถุ Java |
ประเภทข้อมูล | |
สองเท่า | doubleValue () ส่งคืนค่าในสเกลาร์ Double เทนเซอร์ |
<U> เทนเซอร์ <U> | คาดหวัง (ประเภทคลาส <U>) ส่งคืนวัตถุ Tensor นี้ด้วยชนิด Tensor<U> |
ลอย | floatValue () ส่งคืนค่าในสเกลาร์ Float เทนเซอร์ |
int | |
ยาว | |
int | numBytes () ส่งกลับขนาดเป็นไบต์ของข้อมูลเทนเซอร์ |
int | numDimensions () ส่งคืนจำนวนมิติ (บางครั้งเรียกว่า อันดับ ) ของ Tensor |
int | ตัวเลข () ส่งคืนจำนวนองค์ประกอบในมุมมองแบบแบน (1-D) ของเทนเซอร์ |
ยาว[] | |
สตริง | toString () ส่งคืนสตริงที่อธิบายประเภทและรูปร่างของ Tensor |
เป็นโมฆะ | |
เป็นโมฆะ | |
เป็นโมฆะ | |
เป็นโมฆะ | writeTo (ByteBuffer dst) เขียนข้อมูลเทนเซอร์ลงในบัฟเฟอร์ที่กำหนด |
เป็นโมฆะ |
วิธีการสืบทอด
วิธีการสาธารณะ
บูลีนสาธารณะ booleanValue ()
ไบต์สาธารณะ [] 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"; Tensors = 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 |
---|
สาธารณะ 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)
โมฆะสาธารณะ writeTo (DoubleBuffer dst)
โมฆะสาธารณะ writeTo (IntBuffer dst)
โมฆะสาธารณะ writeTo (ByteBuffer dst)
เขียนข้อมูลเทนเซอร์ลงในบัฟเฟอร์ที่กำหนด
คัดลอก numBytes()
ไบต์ไปยังบัฟเฟอร์ในลำดับไบต์ดั้งเดิมสำหรับชนิดดั้งเดิม
พารามิเตอร์
dst | บัฟเฟอร์ปลายทาง |
---|
พ่น
BufferOverflowException | หากมีพื้นที่ว่างไม่เพียงพอในบัฟเฟอร์ที่กำหนดสำหรับข้อมูลในเทนเซอร์นี้ |
---|