ml --- Machine Learning¶
โมดูล ml มีฟังก์ชันสำหรับโหลดและรันโมเดล TensorFlow Lite บน OpenMV Cam โมดูลนี้เปิดเผยคลาสสำหรับผู้ใช้งานเพียงหนึ่งคลาสคือ ml.Model ซึ่งครอบคลุมคลาส C Model ระดับล่างพร้อมความสะดวกเพิ่มเติมฝั่ง Python (การโหลดป้ายกำกับอัตโนมัติและการแปลงภาพเป็นเทนเซอร์อัตโนมัติ)
โมดูลย่อย¶
class Model -- Model Container¶
- class ml.Model(path: str, *, postprocess: object = None) Model¶
โหลดโมเดล TensorFlow Lite จาก
pathลงในหน่วยความจำและเตรียมพร้อมสำหรับการอนุมานpathอาจเป็นไฟล์บนระบบไฟล์หรือชื่อโมเดลที่ฝังอยู่ในเฟิร์มแวร์postprocess คือคอลแบ็กหลังประมวลผลแบบ optional ที่ถูกเรียกโดย
Model.predictหลังจากการอนุมาน รับพารามิเตอร์(model, inputs, outputs)และอาจคืนค่าใด ๆ ก็ได้ (เช่น รายการกรอบล้อมรอบ) เมื่อกำหนดไว้ ตัวประมวลผลหลังการทำงานจะรับเทนเซอร์เอาต์พุตดิบของโมเดล (ที่ยังไม่ถูก dequantize) เพื่อประสิทธิภาพสูงสุดเมื่อสร้างออบเจ็กต์ wrapper จะพยายามโหลดไฟล์
.txtที่มีชื่อฐานเดียวกับpathด้วย หากพบ แต่ละบรรทัดจะถูกโหลดเข้าModel.labelsมิฉะนั้นModel.labelsจะเป็นNone- predict(inputs: list, *, callback: object = None) list¶
รันการอนุมานบนโมเดลและคืนค่าเทนเซอร์เอาต์พุต
inputs คือรายการที่มีหนึ่งรายการต่อเทนเซอร์อินพุตของโมเดล แต่ละรายการอาจเป็น:
ndarrayที่มี shape ตรงกับรายการที่สอดคล้องกันในModel.input_shapeค่าจะถูก quantize โดยใช้ scale และ zero point ของเทนเซอร์อินพุต (อินพุต float32 จะถูกส่งผ่านโดยไม่เปลี่ยนแปลง)ออบเจ็กต์
image.Imagewrapper จะครอบด้วยออบเจ็กต์ml.preprocessing.Normalizationโดยอัตโนมัติเพื่อแปลงเป็นเทนเซอร์ที่คาดหวังคอลแบ็ก จะถูกเรียกด้วย
(bytearray, shape, dtype)และคาดว่าจะเติมข้อมูลลงใน bytearray ด้วยข้อมูลเทนเซอร์อินพุต
callback คือคอลแบ็กหลังประมวลผลแบบ optional ต่อการเรียก เมื่อระบุไว้จะแทนที่
postprocessที่ตั้งไว้ใน constructor สำหรับการเรียกนี้เท่านั้น คอลแบ็กรับ(model, inputs, outputs)และค่าที่คืนจะถูกส่งคืนโดยpredictคืนรายการเอาต์พุต
ndarrayหนึ่งรายการต่อเทนเซอร์เอาต์พุตของโมเดล หากไม่มีตัวประมวลผลหลังการทำงานที่ใช้งาน เอาต์พุตจะถูก dequantize เป็นfloat32หากมีตัวประมวลผลหลังการทำงาน เทนเซอร์เอาต์พุตดิบ (ใช้ dtype ดั้งเดิมของแต่ละเทนเซอร์) จะถูกส่งผ่านแทน
- input_dtype: list[str]¶
รายการของสตริงอักขระเดี่ยวที่ระบุ dtype ของเทนเซอร์อินพุตแต่ละตัว:
'b'(int8),'B'(uint8),'h'(int16),'H'(uint16),'f'(float32)
- input_zero_point: list[int]¶
รายการของค่า int ที่ระบุ quantization zero point ของเทนเซอร์อินพุตแต่ละตัว
- output_dtype: list[str]¶
รายการของสตริงอักขระเดี่ยวที่ระบุ dtype ของเทนเซอร์เอาต์พุตแต่ละตัว:
'b'(int8),'B'(uint8),'h'(int16),'H'(uint16),'f'(float32)
- output_scale: list[float]¶
รายการของค่า float ที่ระบุ quantization scale ของเทนเซอร์เอาต์พุตแต่ละตัว