ml --- التعلم الآلي¶
تحتوي الوحدة ml على وظائف لتحميل وتشغيل نماذج TensorFlow Lite على OpenMV Cam. تعرض الوحدة فئة واحدة موجهة للمستخدم، وهي ml.Model، التي تغلف فئة C الأساسية Model مع تسهيلات إضافية على جانب Python (التحميل التلقائي للتسميات والتحويل التلقائي من الصورة إلى موتر).
الوحدات الفرعية¶
class Model -- حاوية النموذج¶
- class ml.Model(path: str, *, postprocess: object = None) Model¶
تحمّل نموذج TensorFlow Lite من
pathإلى الذاكرة وتجهزه للاستدلال. قد يكونpathملفًا على نظام الملفات أو اسم نموذج مدمج في صورة البرنامج الثابت.postprocess هو دالة معالجة لاحقة اختيارية يستدعيها
Model.predictبعد الاستدلال. تتلقى(model, inputs, outputs)ويمكنها إرجاع أي قيمة (مثل قائمة بمربعات الإحاطة). عند توفيرها، تتلقى المعالجة اللاحقة موترات إخراج النموذج الخام (غير منزوعة الكمّنة) لتحسين الأداء.عند الإنشاء، يحاول الغلاف إضافةً إلى ذلك تحميل ملف
.txtيحمل نفس الاسم الأساسي لـpath؛ وإذا وُجد، يُحمَّل كل سطر إلىModel.labels. وإلا فإنModel.labelsتكونNone.- predict(inputs: list, *, callback: object = None) list¶
يشغّل الاستدلال على النموذج ويُرجع موترات الإخراج.
inputs هي قائمة تحتوي على مدخل واحد لكل موتر إدخال للنموذج. قد يكون كل مدخل:
كائن
ndarrayيطابق شكله المدخل المقابل فيModel.input_shape. تُكمّن القيم باستخدام مقياس موتر الإدخال ونقطة الصفر الخاصة به (تُمرَّر مدخلات float32 دون تغيير).كائن
image.Image. يغلفه الغلاف تلقائيًا في كائنml.preprocessing.Normalizationلتحويله إلى الموتر المتوقع.دالة قابلة للاستدعاء. ستُستدعى بـ
(bytearray, shape, dtype)ويُتوقع منها ملء الـ bytearray ببيانات موتر الإدخال.
callback هي دالة معالجة لاحقة اختيارية لكل استدعاء. عند توفيرها، فإنها تتجاوز
postprocessالمضبوطة في المُنشئ لهذا الاستدعاء فقط. تتلقى دالة رد النداء(model, inputs, outputs)وتُرجعpredictقيمتها المُعادة.يُرجع قائمة من مخرجات
ndarray، واحدًا لكل موتر إخراج للنموذج. إذا لم تكن هناك معالجة لاحقة نشطة، تُنزَع كمّنة المخرجات إلىfloat32؛ وإذا كانت هناك معالجة لاحقة نشطة، تُمرَّر إليها موترات الإخراج الخام (باستخدام النوع الأصلي لكل موتر) بدلًا من ذلك.
- input_dtype: list[str]¶
قائمة من السلاسل المؤلفة من حرف واحد تعطي نوع البيانات لكل موتر إدخال:
'b'(int8)،'B'(uint8)،'h'(int16)،'H'(uint16)،'f'(float32).