MetadataExtractor

คลาสสาธารณะ MetadataExtractor

โหลดข้อมูลเมตาจาก 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 

บริษัทก่อสร้าง

MetadataExtractor(บัฟเฟอร์ ByteBuffer)
สร้าง MetadataExtractor ที่มีโมเดล TFLite FlatBuffer

วิธีการสาธารณะ

InputStream
getAssociatedFile(ชื่อไฟล์ String)
รับไฟล์ที่เกี่ยวข้องซึ่งแพ็กไว้โดยมี fileName ที่ระบุ
ตั้งค่า<สตริง>
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