คลาสย่อยทางอ้อมที่รู้จัก |
อาร์เรย์หลายมิติที่พิมพ์แบบคงที่
เทนเซอร์มีสองประเภทใน TensorFlow Java: typed tensors
และ raw tensors
แบบแรกแมปหน่วยความจำเนทิฟเทนเซอร์กับพื้นที่ข้อมูลที่พิมพ์แบบ n มิติ ช่วยให้สามารถดำเนินการ I/O โดยตรงจาก JVM ในขณะที่อย่างหลังเป็นเพียงการอ้างอิงถึงเทนเซอร์ดั้งเดิมที่อนุญาตการดำเนินการพื้นฐานและการเข้าถึงข้อมูลแบบแฟลต
คำเตือน: ทรัพยากรที่ใช้โดยวัตถุ Tensor จะต้องได้ รับการปลดปล่อยอย่างชัดเจนโดยการเรียกใช้เมธอด close()
เมื่อไม่ต้องการวัตถุอีกต่อไป ตัวอย่างเช่น การใช้บล็อก try-with-resources:
try (Tensor t = Tensor.of(...)) {
doSomethingWith(t);
}
อินสแตนซ์ของ Tensor นั้น ไม่ ปลอดภัยต่อเธรด
วิธีการสาธารณะ
RawTensor แบบนามธรรม | asRawTensor () ส่งคืนการแทนค่าดิบ (ไม่ได้พิมพ์) ของเทนเซอร์นี้ |
ความว่างเปล่าที่เป็นนามธรรม | ปิด () เผยแพร่ทรัพยากรที่เกี่ยวข้องกับเทนเซอร์ |
ประเภทข้อมูล นามธรรม | ประเภทข้อมูล () ส่งกลับ DataType ขององค์ประกอบที่เก็บไว้ในเมตริกซ์ |
ยาวเป็นนามธรรม | จำนวนไบต์ () ส่งกลับขนาดเป็นไบต์ของข้อมูลเทนเซอร์ |
นามธรรมคง <T ขยาย TType > T | |
นามธรรมคง <T ขยาย TType > T | |
นามธรรมคง <T ขยาย TType > T | |
นามธรรมคง <T ขยาย TType > T | |
นามธรรมคง <T ขยาย TType > T | ของ (ประเภท Class<T> รูปร่าง รูปร่าง ByteDataBuffer rawData) สร้างเทนเซอร์ประเภทใดก็ได้จากข้อมูลดิบที่ได้รับจากบัฟเฟอร์ที่กำหนด |
รูปร่าง นามธรรม | รูปร่าง () ส่งกลับรูปร่างของเทนเซอร์ |
วิธีการสืบทอด
วิธีการสาธารณะ
โมฆะนามธรรมสาธารณะ ปิด ()
เผยแพร่ทรัพยากรที่เกี่ยวข้องกับเทนเซอร์
คำเตือน: จะต้องเรียกใช้สิ่งนี้สำหรับเทนเซอร์ทั้งหมดที่ไม่ได้เกิดจากการดำเนินการที่กระตือรือร้น ไม่เช่นนั้นหน่วยความจำจะรั่วไหล
วัตถุ Tensor ไม่สามารถใช้งานได้อีกต่อไปหลังจาก close
การส่งคืน
สาธารณะนามธรรมยาว numBytes ()
ส่งกลับขนาดเป็นไบต์ของข้อมูลเทนเซอร์
บทคัดย่อคงที่สาธารณะ T ของ (ประเภทคลาส <T> รูปร่าง รูปร่าง ขนาดยาว Consumer<T> dataInitializer)
จัดสรรเทนเซอร์ของประเภทข้อมูล รูปร่าง และขนาดที่กำหนด
วิธีการนี้เหมือนกับ of(Class, Shape, Consumer)
ยกเว้นว่าขนาดสุดท้ายสำหรับเทนเซอร์สามารถตั้งค่าได้อย่างชัดเจน แทนที่จะคำนวณจากประเภทข้อมูลและรูปร่าง
ซึ่งอาจเป็นประโยชน์สำหรับประเภทเทนเซอร์ที่จัดเก็บข้อมูล แต่ยังรวมถึงข้อมูลเมตาในหน่วยความจำเทนเซอร์ เช่น ตารางการค้นหาในเทนเซอร์ของสตริง
พารามิเตอร์
พิมพ์ | คลาสประเภทเทนเซอร์ |
---|---|
รูปร่าง | รูปร่างของเทนเซอร์ |
ขนาด | ขนาดเป็นไบต์ของเทนเซอร์หรือ -1 เพื่อคำนวณขนาดจากรูปร่าง |
dataInitializer | วิธีการรับการเข้าถึงข้อมูลเทนเซอร์ที่จัดสรรเพื่อการเริ่มต้น |
การส่งคืน
- เทนเซอร์ที่ได้รับการจัดสรรและเริ่มต้น
ขว้าง
ข้อยกเว้นอาร์กิวเมนต์ที่ผิดกฎหมาย | ถ้า size มีขนาดเล็กกว่าพื้นที่ขั้นต่ำที่ต้องใช้ในการจัดเก็บข้อมูลเทนเซอร์ |
---|---|
ข้อยกเว้นอาร์กิวเมนต์ที่ผิดกฎหมาย | หากตั้ง size เป็น -1 แต่องค์ประกอบของ type ที่กำหนดนั้นมีความยาวผันแปรได้ (เช่น สตริง) |
ข้อยกเว้นอาร์กิวเมนต์ที่ผิดกฎหมาย | หาก unknown shape ทั้งหมดหรือบางส่วน |
IllegalStateException | หากไม่สามารถจัดสรรเทนเซอร์ได้ |
ดูเพิ่มเติม
บทคัดย่อคงที่สาธารณะ T ของ (ประเภท Class<T> รูปร่าง รูปร่าง )
จัดสรรเทนเซอร์ของประเภทข้อมูลและรูปร่างที่กำหนด
จำนวนหน่วยความจำที่จะจัดสรรนั้นมาจากประเภทข้อมูลและรูปร่างของเทนเซอร์ และจะปล่อยทิ้งไว้โดยไม่ได้กำหนดค่าเริ่มต้น
พารามิเตอร์
พิมพ์ | คลาสประเภทเทนเซอร์ |
---|---|
รูปร่าง | รูปร่างของเทนเซอร์ |
การส่งคืน
- เทนเซอร์ที่ได้รับการจัดสรรแต่ไม่ได้เตรียมใช้งาน
ขว้าง
ข้อยกเว้นอาร์กิวเมนต์ที่ผิดกฎหมาย | ถ้าองค์ประกอบของ type ที่กำหนดมีความยาวผันแปรได้ (เช่น สตริง) |
---|---|
ข้อยกเว้นอาร์กิวเมนต์ที่ผิดกฎหมาย | หาก unknown shape ทั้งหมดหรือบางส่วน |
IllegalStateException | หากไม่สามารถจัดสรรเทนเซอร์ได้ |
บทคัดย่อคงที่สาธารณะ T ของ (ประเภท Class<T> รูปร่าง รูปร่าง ขนาดยาว)
จัดสรรเทนเซอร์ของประเภทข้อมูล รูปร่าง และขนาดที่กำหนด
วิธีการนี้เหมือนกับ of(Class, Shape)
ยกเว้นว่าขนาดสุดท้ายของเทนเซอร์สามารถตั้งค่าได้อย่างชัดเจน แทนที่จะคำนวณจากประเภทข้อมูลและรูปร่าง ซึ่งอาจใหญ่กว่าพื้นที่จริงที่จำเป็นในการจัดเก็บข้อมูล แต่ไม่เล็กกว่า .
พารามิเตอร์
พิมพ์ | คลาสประเภทเทนเซอร์ |
---|---|
รูปร่าง | รูปร่างของเทนเซอร์ |
ขนาด | ขนาดเป็นไบต์ของเทนเซอร์หรือ -1 เพื่อคำนวณขนาดจากรูปร่าง |
การส่งคืน
- เทนเซอร์ที่ได้รับการจัดสรรแต่ไม่ได้เตรียมใช้งาน
ขว้าง
ข้อยกเว้นอาร์กิวเมนต์ที่ผิดกฎหมาย | ถ้า size มีขนาดเล็กกว่าพื้นที่ขั้นต่ำที่ต้องใช้ในการจัดเก็บข้อมูลเทนเซอร์ |
---|---|
ข้อยกเว้นอาร์กิวเมนต์ที่ผิดกฎหมาย | หากตั้ง size เป็น -1 แต่องค์ประกอบของ type ที่กำหนดนั้นมีความยาวผันแปรได้ (เช่น สตริง) |
ข้อยกเว้นอาร์กิวเมนต์ที่ผิดกฎหมาย | หาก unknown shape ทั้งหมดหรือบางส่วน |
IllegalStateException | หากไม่สามารถจัดสรรเทนเซอร์ได้ |
ดูเพิ่มเติม
บทคัดย่อคงที่สาธารณะ T ของ (ประเภทคลาส <T> รูปร่าง รูปร่าง Consumer<T> dataInitializer)
จัดสรรและเริ่มต้นเทนเซอร์ของประเภทข้อมูลและรูปร่างที่กำหนด
จำนวนหน่วยความจำที่จะจัดสรรนั้นมาจากประเภทข้อมูลและรูปร่างของเทนเซอร์ ข้อมูลเทนเซอร์เริ่มต้นได้โดยการเรียก dataInitializer
ซึ่งรับค่าที่ส่งคืนเป็นอาร์กิวเมนต์โดย ERROR(/#data())
บนเทนเซอร์ที่จัดสรร ตัวอย่างเช่น:
FloatNdArray data = ...
try (TFloat32 t = Tensor.of(TFloat32.class, Shape.of(2, 2), data::copyTo)) {
...
}
หาก dataInitializer
ล้มเหลวและส่งข้อยกเว้น เมตริกซ์ที่จัดสรรจะถูกปล่อยโดยอัตโนมัติก่อนที่จะสร้างข้อยกเว้นเดียวกันใหม่
พารามิเตอร์
พิมพ์ | คลาสประเภทเทนเซอร์ |
---|---|
รูปร่าง | รูปร่างของเทนเซอร์ |
dataInitializer | วิธีการรับการเข้าถึงข้อมูลเทนเซอร์ที่จัดสรรเพื่อการเริ่มต้น |
การส่งคืน
- เทนเซอร์ที่ได้รับการจัดสรรและเริ่มต้น
ขว้าง
ข้อยกเว้นอาร์กิวเมนต์ที่ผิดกฎหมาย | ถ้าองค์ประกอบของ type ที่กำหนดมีความยาวผันแปรได้ (เช่น สตริง) |
---|---|
ข้อยกเว้นอาร์กิวเมนต์ที่ผิดกฎหมาย | หาก unknown shape ทั้งหมดหรือบางส่วน |
IllegalStateException | หากไม่สามารถจัดสรรเทนเซอร์ได้ |
บทคัดย่อคงที่สาธารณะ T ของ (ประเภท Class <T> รูปร่าง รูปร่าง ByteDataBuffer rawData)
สร้างเทนเซอร์ประเภทใดก็ได้จากข้อมูลดิบที่ได้รับจากบัฟเฟอร์ที่กำหนด
ข้อมูลจะต้องได้รับการเข้ารหัสเป็น data
ตามข้อกำหนดของ TensorFlow C API
พารามิเตอร์
พิมพ์ | คลาสประเภทเทนเซอร์ |
---|---|
รูปร่าง | รูปร่างเทนเซอร์ |
ข้อมูลดิบ | บัฟเฟอร์ที่มีข้อมูลดิบของเทนเซอร์ |
ขว้าง
ข้อยกเว้นอาร์กิวเมนต์ที่ผิดกฎหมาย | หาก rawData ไม่ใหญ่พอที่จะบรรจุข้อมูลเทนเซอร์ |
---|---|
ข้อยกเว้นอาร์กิวเมนต์ที่ผิดกฎหมาย | หาก unknown shape ทั้งหมดหรือบางส่วน |
IllegalStateException | หากเทนเซอร์ไม่สามารถจัดสรรด้วยพารามิเตอร์ที่กำหนดได้ |