โหลดข้อมูลเมตาจาก TFLite Model FlatBuffer
คุณสร้าง TFLite Model FlatBuffer ได้โดยใช้ไฟล์สคีมาโมเดล TFLite
บางโมเดลมี TFLite Metadata Flatbuffer ซึ่งจะบันทึกข้อมูลเพิ่มเติมเกี่ยวกับการทำงานของโมเดลและวิธีตีความโมเดล คุณสร้าง TFLite Metadata Flatbuffer ได้โดยใช้ไฟล์สคีมาข้อมูลเมตา TFLite
อนุญาตให้ส่งผ่านในโมเดล FlatBuffer โดยไม่ต้องมีข้อมูลเมตา TFLite อย่างไรก็ตาม การเรียกใช้เมธอดที่อ่านจากข้อมูลเมตาของ TFLite จะทำให้เกิดข้อผิดพลาดรันไทม์
ในทํานองเดียวกัน สามารถส่งผ่านในโมเดล FlatBuffer โดยไม่มีไฟล์ที่เกี่ยวข้องได้ อย่างไรก็ตาม การเรียกใช้เมธอดที่อ่านไฟล์ที่เกี่ยวข้องจะทำให้เกิดข้อผิดพลาดรันไทม์
แม้ว่าโมเดล TFLite FlatBuffer จะรองรับกราฟย่อยหลายภาพ แต่ TFLite Publisher ยังรองรับกราฟย่อยเพียง 1 กราฟเท่านั้นในขณะนี้ ดูข้อมูลเพิ่มเติมได้ในวิธีระบุกราฟย่อยระหว่างการแปลง ดังนั้น MetadataExtractor
จะไม่มีดัชนีกราฟย่อยเป็นอินพุตในเมธอดของตน
ชั้นเรียนที่ซ้อนกัน
คลาส | MetadataExtractor.QuantizationParams | พารามิเตอร์การหาปริมาณที่สอดคล้องกับตาราง QuantizationParameters ในไฟล์สคีมาโมเดล TFLite |
บริษัทก่อสร้าง
วิธีการสาธารณะ
InputStream | |
ตั้งค่า<สตริง> |
getAssociatedFileNames()
รับชื่อไฟล์ของไฟล์ที่เกี่ยวข้อง
|
int |
getInputTensorCount()
รับจำนวน Tensor อินพุตในโมเดล
|
TensorMetadata |
getInputTensorMetadata(int InputIndex)
รับข้อมูลเมตาสำหรับ Tensor อินพุตที่ระบุโดย
inputIndex |
MetadataExtractor.QuantizationParams |
getInputTensorQuantizationParams(int InputIndex)
รับพารามิเตอร์การวัดปริมาณสำหรับ tensor อินพุตที่ระบุโดย
inputIndex |
int[] |
getInputTensorShape(int InputIndex)
รับรูปร่างของ Tensor อินพุตด้วย
inputIndex |
ไบต์ |
getInputTensorType(int InputIndex)
รับ
ERROR(/TensorType) ของ Tensor อินพุตที่มี inputIndex |
ModelMetadata |
getModelMetadata()
รับตัวแฮนเดิลรูทสำหรับข้อมูลเมตาของโมเดล
|
int |
getOutputTensorCount()
รับจำนวน Tensor เอาต์พุตในโมเดล
|
TensorMetadata |
getOutputTensorMetadata(int exportIndex)
รับข้อมูลเมตาสำหรับ Tensor เอาต์พุตที่ระบุโดย
outputIndex |
MetadataExtractor.QuantizationParams |
getOutputTensorQuantizationParams(intเอาต์พุตIndex)
รับพารามิเตอร์การวัดปริมาณสำหรับ tensor เอาต์พุตที่ระบุโดย
outputIndex |
int[] |
getOutputTensorShape(int exportIndex)
รับรูปร่างของ Tensor เอาต์พุตด้วย
outputIndex |
ไบต์ |
getOutputTensorType(int exportIndex)
รับ
ERROR(/TensorType) ของ Tensor เอาต์พุตที่มี outputIndex |
boolean |
hasMetadata()
แสดงผล
true หากโมเดลมีข้อมูลเมตา |
สุดท้าย บูลีน |
isMinimumParserVersionSatisfied()
แสดงผล
true หากเวอร์ชันโปรแกรมแยกวิเคราะห์ขั้นต่ำที่แฟลตบัฟเฟอร์ข้อมูลเมตาที่ระบุอยู่ก่อนหรือเท่ากับเวอร์ชันของโปรแกรมแยกวิเคราะห์ข้อมูลเมตาที่ไลบรารี MetadataExtractor นี้ใช้ |
วิธีการที่รับช่วงมา
บริษัทก่อสร้าง
สาธารณะ MetadataExtractor (บัฟเฟอร์ ByteBuffer)
สร้าง MetadataExtractor
ที่มีโมเดล TFLite FlatBuffer
พารามิเตอร์
บัฟเฟอร์ | FlatBuffer โมเดล TFLite |
---|
การขว้าง
IllegalArgumentException | หากจำนวนของ Tensor อินพุตหรือเอาต์พุตในโมเดลไม่ตรงกับในข้อมูลเมตา |
---|---|
IOException | หากข้อผิดพลาดเกิดขึ้นขณะอ่านโมเดลเป็นไฟล์ ZIP |
วิธีการสาธารณะ
สาธารณะ InputStream getAssociatedFile (String fileName)
รับไฟล์ที่เกี่ยวข้องซึ่งแพ็กไว้โดยมี fileName
ที่ระบุ
พารามิเตอร์
fileName | ชื่อไฟล์ที่เกี่ยวข้อง |
---|
การคืนสินค้า
- สตรีมอินพุตดิบที่มีไฟล์ที่ระบุ
การขว้าง
IllegalStateException | หากโมเดลไม่ใช่ไฟล์ ZIP |
---|---|
IllegalArgumentException | หากไม่มีไฟล์ที่ระบุในโมเดล |
สาธารณะ Set<String> getAssociatedFileNames ()
รับชื่อไฟล์ของไฟล์ที่เกี่ยวข้อง
การคืนสินค้า
- ชื่อไฟล์ของไฟล์ที่เกี่ยวข้อง
การขว้าง
IllegalStateException | หากโมเดลไม่ใช่ไฟล์ ZIP |
---|
สาธารณะ int getInputTensorCount ()
รับจำนวน Tensor อินพุตในโมเดล
สาธารณะ TensorMetadata getInputTensorMetadata (int InputIndex)
รับข้อมูลเมตาสำหรับ Tensor อินพุตที่ระบุโดย inputIndex
พารามิเตอร์
inputIndex | ดัชนีของ Tensor อินพุตที่ต้องการ |
---|
การขว้าง
IllegalStateException | ถ้าโมเดลนี้ไม่มีข้อมูลเมตาของโมเดล |
---|
สาธารณะ MetadataExtractor.QuantizationParams getInputTensorQuantizationParams (int InputIndex)
รับพารามิเตอร์การวัดปริมาณสำหรับ tensor อินพุตที่ระบุโดย inputIndex
พารามิเตอร์
inputIndex | ดัชนีของ Tensor อินพุตที่ต้องการ |
---|
สาธารณะ int[] getInputTensorShape (int InputIndex)
รับรูปร่างของ Tensor อินพุตด้วย inputIndex
พารามิเตอร์
inputIndex | ดัชนีของ Tensor อินพุตที่ต้องการ |
---|
สาธารณะ ไบต์ getInputTensorType (int InputIndex)
รับ ERROR(/TensorType)
ของ Tensor อินพุตที่มี inputIndex
พารามิเตอร์
inputIndex | ดัชนีของ Tensor อินพุตที่ต้องการ |
---|
สาธารณะ ModelMetadata getModelMetadata ()
รับตัวแฮนเดิลรูทสำหรับข้อมูลเมตาของโมเดล
การขว้าง
IllegalStateException | ถ้าโมเดลนี้ไม่มีข้อมูลเมตาของโมเดล |
---|
public int getOutputTensorCount ()
รับจำนวน Tensor เอาต์พุตในโมเดล
สาธารณะ TensorMetadata getOutputTensorMetadata (int exportIndex)
รับข้อมูลเมตาสำหรับ Tensor เอาต์พุตที่ระบุโดย outputIndex
พารามิเตอร์
outputIndex | ดัชนีของ Tensor เอาต์พุตที่ต้องการ |
---|
การขว้าง
IllegalStateException | ถ้าโมเดลนี้ไม่มีข้อมูลเมตาของโมเดล |
---|
สาธารณะ MetadataExtractor.QuantizationParams getOutputTensorQuantizationParams (int exportIndex)
รับพารามิเตอร์การวัดปริมาณสำหรับ tensor เอาต์พุตที่ระบุโดย outputIndex
พารามิเตอร์
outputIndex | ดัชนีของ Tensor เอาต์พุตที่ต้องการ |
---|
public int[] getOutputTensorShape (int exportIndex)
รับรูปร่างของ Tensor เอาต์พุตด้วย outputIndex
พารามิเตอร์
outputIndex | ดัชนีของ Tensor เอาต์พุตที่ต้องการ |
---|
สาธารณะ ไบต์ getOutputTensorType (int exportIndex)
รับ ERROR(/TensorType)
ของ Tensor เอาต์พุตที่มี outputIndex
พารามิเตอร์
outputIndex | ดัชนีของ Tensor เอาต์พุตที่ต้องการ |
---|
สาธารณะ บูลีน hasMetadata ()
แสดงผล true
หากโมเดลมีข้อมูลเมตา มิเช่นนั้น ให้ส่งคืน false
สาธารณะ สุดท้าย บูลีน isMinimumParserVersionSatisfied ()
แสดงผล true
หากเวอร์ชันโปรแกรมแยกวิเคราะห์ขั้นต่ำที่แฟลตบัฟเฟอร์ข้อมูลเมตาที่ระบุอยู่ก่อนหรือเท่ากับเวอร์ชันของโปรแกรมแยกวิเคราะห์ข้อมูลเมตาที่ไลบรารี MetadataExtractor นี้ใช้ ในกรณีนี้ ระบบจะแยกวิเคราะห์ช่องทั้งหมดในข้อมูลเมตาได้อย่างถูกต้องด้วยไลบรารีเครื่องมือแยกข้อมูลเมตานี้ มิเช่นนั้น จะแสดงผล false
เช่น สมมติว่าเวอร์ชันโปรแกรมแยกวิเคราะห์ข้อมูลเมตาที่สำคัญคือ 1.14.1
- จะแสดงผลเป็น
true
หากเวอร์ชันโปรแกรมแยกวิเคราะห์ขั้นต่ำที่กำหนดเป็นเวอร์ชันเดียวกันหรือเก่ากว่า เช่น1.14.1
หรือ1.14.0
เวอร์ชัน Null มาก่อนเวอร์ชันตัวเลขทั้งหมด เนื่องจากมีการสร้าง FlatBuffer ของข้อมูลเมตาบางรายการก่อนการเผยแพร่เวอร์ชันแรก
- จะแสดงผลเป็น
false
หากโปรแกรมแยกวิเคราะห์ขั้นต่ำที่กำหนดเป็นเวอร์ชันที่ใหม่กว่า เช่น1.14.2