โหลดข้อมูลเมตาจาก TFLite Model FlatBuffer
สามารถสร้าง TFLite Model FlatBuffer ได้โดยใช้ ไฟล์สคีมา TFLite Model
บางรุ่นมี TFLite Metadata Flatbuffer ซึ่งจะบันทึกข้อมูลเพิ่มเติมเกี่ยวกับการทำงานของโมเดลและวิธีตีความโมเดล TFLite Metadata Flatbuffer สามารถสร้างได้โดยใช้ ไฟล์สคีมา TFLite Metadata
อนุญาตให้ส่งผ่านโมเดล FlatBuffer โดยไม่มีข้อมูลเมตา TFLite อย่างไรก็ตาม การเรียกใช้เมธอดที่อ่านจากข้อมูลเมตาของ TFLite จะทำให้เกิดข้อผิดพลาดรันไทม์
ในทำนองเดียวกัน อนุญาตให้ส่งผ่านโมเดล FlatBuffer โดยไม่มีไฟล์ที่เกี่ยวข้อง อย่างไรก็ตาม การเรียกใช้เมธอดที่อ่านไฟล์ที่เกี่ยวข้องจะทำให้เกิดข้อผิดพลาดรันไทม์
แม้ว่า FlatBuffer รุ่น TFLite จะรองรับกราฟย่อยหลายรายการ แต่จนถึงขณะนี้ TFLite Interpreter รองรับกราฟย่อยเพียงรายการเดียวเท่านั้น ดู คำแนะนำวิธีระบุกราฟย่อยระหว่างการแปลงสำหรับข้อมูลเพิ่มเติม ดังนั้น MetadataExtractor
จะละเว้นดัชนีกราฟย่อยเป็นอินพุตในวิธีการของมัน
คลาสที่ซ้อนกัน
ระดับ | MetadataExtractor.QuantizationParams | พารามิเตอร์การหาปริมาณที่สอดคล้องกับตาราง QuantizationParameters ใน ไฟล์สคีมา TFLite Model |
คอนสตรัคชั่นสาธารณะ
วิธีการสาธารณะ
อินพุตสตรีม | |
ตั้งค่า < สตริง > | getAssociatedFileNames () รับชื่อไฟล์ของไฟล์ที่เกี่ยวข้อง |
ภายใน | getInputTensorCount () รับจำนวนเทนเซอร์อินพุตในโมเดล |
เทนเซอร์เมตาดาต้า | getInputTensorMetadata (int inputIndex) รับข้อมูลเมตาสำหรับเทนเซอร์อินพุตที่ระบุโดย inputIndex |
MetadataExtractor.QuantizationParams | getInputTensorQuantizationParams (int inputIndex) รับพารามิเตอร์การหาปริมาณสำหรับเทนเซอร์อินพุตที่ระบุโดย inputIndex |
อินท์[] | getInputTensorShape (int inputIndex) รับรูปร่างของเทนเซอร์อินพุตด้วย inputIndex |
ไบต์ | getInputTensorType (int inputIndex) รับ ERROR(/TensorType) ของอินพุตเทนเซอร์ด้วย inputIndex |
ModelMetadata | getModelMetadata () รับตัวจัดการรูทสำหรับข้อมูลเมตาของโมเดล |
ภายใน | getOutputTensorCount () รับค่าจำนวนเทนเซอร์เอาท์พุตในโมเดล |
เทนเซอร์เมตาดาต้า | getOutputTensorMetadata (int เอาท์พุตอินเด็กซ์) รับข้อมูลเมตาสำหรับเทนเซอร์เอาต์พุตที่ระบุโดย outputIndex |
MetadataExtractor.QuantizationParams | getOutputTensorQuantizationParams (int เอาท์พุตดัชนี) รับพารามิเตอร์การหาปริมาณสำหรับเทนเซอร์เอาต์พุตที่ระบุโดย outputIndex |
อินท์[] | getOutputTensorShape (int เอาท์พุตดัชนี) รับรูปร่างของเอาท์พุตเทนเซอร์ด้วย outputIndex |
ไบต์ | getOutputTensorType (int เอาท์พุตดัชนี) รับ ERROR(/TensorType) ของเอาท์พุตเทนเซอร์ด้วย outputIndex |
บูลีน | มีข้อมูลเมตา () คืนค่า true หากโมเดลมีข้อมูลเมตา |
บูลีนสุดท้าย | คือขั้นต่ำ ParserVersion พอใจ () คืน true หากเวอร์ชันตัวแยกวิเคราะห์ขั้นต่ำที่ต้องการโดย flatbuffer ข้อมูลเมตาที่กำหนดอยู่ข้างหน้าหรือเท่ากับเวอร์ชันของตัวแยกวิเคราะห์ข้อมูลเมตาที่ไลบรารี MetadataExtractor นี้ใช้อยู่ |
วิธีการสืบทอด
คอนสตรัคชั่นสาธารณะ
MetadataExtractor สาธารณะ (บัฟเฟอร์ ByteBuffer )
สร้าง MetadataExtractor
ด้วย FlatBuffer โมเดล TFLite
พารามิเตอร์
กันชน | FlatBuffer รุ่น TFLite |
---|
ขว้าง
ข้อยกเว้นอาร์กิวเมนต์ที่ผิดกฎหมาย | หากจำนวนเทนเซอร์อินพุตหรือเอาท์พุตในโมเดลไม่ตรงกับในข้อมูลเมตา |
---|---|
IOข้อยกเว้น | หากเกิดข้อผิดพลาดขณะอ่านโมเดลเป็นไฟล์ Zip |
วิธีการสาธารณะ
InputStream getAssociatedFile สาธารณะ (ชื่อไฟล์ สตริง )
รับไฟล์ที่เกี่ยวข้องกับการแพ็กพร้อมกับ fileName
ที่ระบุ
พารามิเตอร์
ชื่อไฟล์ | ชื่อของไฟล์ที่เกี่ยวข้อง |
---|
การส่งคืน
- สตรีมอินพุตดิบที่มีไฟล์ที่ระบุ
ขว้าง
IllegalStateException | หากโมเดลไม่ใช่ไฟล์ zip |
---|---|
ข้อยกเว้นอาร์กิวเมนต์ที่ผิดกฎหมาย | หากไม่มีไฟล์ที่ระบุในโมเดล |
ชุด สาธารณะ < สตริง > getAssociatedFileNames ()
รับชื่อไฟล์ของไฟล์ที่เกี่ยวข้อง
การส่งคืน
- ชื่อไฟล์ของไฟล์ที่เกี่ยวข้อง
ขว้าง
IllegalStateException | หากโมเดลไม่ใช่ไฟล์ zip |
---|
int สาธารณะ getInputTensorCount ()
รับจำนวนเทนเซอร์อินพุตในโมเดล
TensorMetadata สาธารณะ getInputTensorMetadata (int inputIndex)
รับข้อมูลเมตาสำหรับเทนเซอร์อินพุตที่ระบุโดย inputIndex
พารามิเตอร์
ดัชนีอินพุต | ดัชนีของเทนเซอร์อินพุตที่ต้องการ |
---|
ขว้าง
IllegalStateException | หากโมเดลนี้ไม่มีข้อมูลเมตาของโมเดล |
---|
MetadataExtractor.QuantizationParams สาธารณะ getInputTensorQuantizationParams (int inputIndex)
รับพารามิเตอร์การหาปริมาณสำหรับเทนเซอร์อินพุตที่ระบุโดย inputIndex
พารามิเตอร์
ดัชนีอินพุต | ดัชนีของเทนเซอร์อินพุตที่ต้องการ |
---|
int สาธารณะ [] getInputTensorShape (int inputIndex)
รับรูปร่างของเทนเซอร์อินพุตด้วย inputIndex
พารามิเตอร์
ดัชนีอินพุต | ดัชนีของเทนเซอร์อินพุตที่ต้องการ |
---|
ไบต์สาธารณะ getInputTensorType (int inputIndex)
รับ ERROR(/TensorType)
ของอินพุตเทนเซอร์ด้วย inputIndex
พารามิเตอร์
ดัชนีอินพุต | ดัชนีของเทนเซอร์อินพุตที่ต้องการ |
---|
ModelMetadata สาธารณะ getModelMetadata ()
รับตัวจัดการรูทสำหรับข้อมูลเมตาของโมเดล
ขว้าง
IllegalStateException | หากโมเดลนี้ไม่มีข้อมูลเมตาของโมเดล |
---|
int สาธารณะ getOutputTensorCount ()
รับค่าจำนวนเทนเซอร์เอาท์พุตในโมเดล
TensorMetadata สาธารณะ getOutputTensorMetadata (int outputIndex)
รับข้อมูลเมตาสำหรับเทนเซอร์เอาต์พุตที่ระบุโดย outputIndex
พารามิเตอร์
ดัชนีเอาท์พุท | ดัชนีของเทนเซอร์เอาท์พุตที่ต้องการ |
---|
ขว้าง
IllegalStateException | หากโมเดลนี้ไม่มีข้อมูลเมตาของโมเดล |
---|
MetadataExtractor.QuantizationParams สาธารณะ getOutputTensorQuantizationParams (int outputIndex)
รับพารามิเตอร์การหาปริมาณสำหรับเทนเซอร์เอาต์พุตที่ระบุโดย outputIndex
พารามิเตอร์
ดัชนีเอาท์พุท | ดัชนีของเทนเซอร์เอาท์พุตที่ต้องการ |
---|
int สาธารณะ [] getOutputTensorShape (int outputIndex)
รับรูปร่างของเอาท์พุตเทนเซอร์ด้วย outputIndex
พารามิเตอร์
ดัชนีเอาท์พุท | ดัชนีของเทนเซอร์เอาท์พุตที่ต้องการ |
---|
ไบต์สาธารณะ getOutputTensorType (int outputIndex)
รับ ERROR(/TensorType)
ของเอาท์พุตเทนเซอร์ด้วย outputIndex
พารามิเตอร์
ดัชนีเอาท์พุท | ดัชนีของเทนเซอร์เอาท์พุตที่ต้องการ |
---|
hasMetadata บูลีนสาธารณะ ()
คืนค่า true
หากโมเดลมีข้อมูลเมตา มิฉะนั้นจะคืน false
บูลีนสุดท้ายสาธารณะ isMinimumParserVersionSatisfied ()
คืน true
หากเวอร์ชันตัวแยกวิเคราะห์ขั้นต่ำที่ต้องการโดย flatbuffer ข้อมูลเมตาที่กำหนดอยู่ข้างหน้าหรือเท่ากับเวอร์ชันของตัวแยกวิเคราะห์ข้อมูลเมตาที่ไลบรารี MetadataExtractor นี้ใช้อยู่ ฟิลด์ทั้งหมดในข้อมูลเมตาสามารถแยกวิเคราะห์ได้อย่างถูกต้องด้วยไลบรารีตัวแยกข้อมูลเมตาในกรณีนี้ มิฉะนั้นจะส่งคืน false
ตัวอย่างเช่น สมมติว่าเวอร์ชันตัวแยกวิเคราะห์ข้อมูลเมตาพื้นฐานคือ 1.14.1
- โดยจะส่งคืน
true
หากเวอร์ชัน parser ขั้นต่ำที่ต้องการเป็นเวอร์ชันเดียวกันหรือเก่ากว่า เช่น1.14.1
หรือ1.14.0
เวอร์ชัน Null นำหน้าเวอร์ชันตัวเลขทั้งหมด เนื่องจากแฟลตบัฟเฟอร์ข้อมูลเมตาบางตัวถูกสร้างขึ้นก่อนเวอร์ชันแรก - มันจะส่งคืน
false
หากเวอร์ชัน parser ขั้นต่ำที่ต้องการคือใหม่กว่า เช่น1.14.2