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