MetadataExtractor

MetadataExtractor ระดับสาธารณะ

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

คอนสตรัคชั่นสาธารณะ

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

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

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