ml.preprocessing --- المعالجة المسبقة للتعلم الآلي¶
تحتوي الوحدة ml.preprocessing على فئات للمعالجة المسبقة للصور لاستخدامها مع نماذج التعلم الآلي.
class Normalization -- تطبيع الصورة¶
يحوّل كائن Normalization كائنات image.Image إلى موترات إدخال ndarray لاستخدامها مع ml.Model.predict(). يُنشَأ تلقائيًا بواسطة كائن ml.Model عند تمرير صورة إلى ml.Model.predict()، لكن يمكن إنشاؤه يدويًا للتحكم في التحويل (المقياس، المتوسط/الانحراف المعياري، منطقة الاهتمام).
- class ml.preprocessing.Normalization(scale: tuple[float, float] = (0.0, 1.0), mean: tuple[float, float, float] = (0.0, 0.0, 0.0), stdev: tuple[float, float, float] = (1.0, 1.0, 1.0), roi: tuple[int, int, int, int] = None)¶
ينشئ كائن
Normalization.scaleهو نطاق القيم(min, max)الذي تتوقعه موترات الإدخال ذات الفاصلة العائمة بعد التطبيع (مثل(0.0, 1.0)أو(-1.0, 1.0)). يُتجاهَل لموترات الإدخالuint8وint8.meanهو المتوسط لكل قناة(R, G, B)الذي يُطرَح من الصورة بعد القياس. بالنسبة لموترات تدرج الرمادي يُختزَل المتوسط إلى قيمة لمعان (luma) واحدة باستخدام0.299*R + 0.587*G + 0.114*B. يُتجاهَل لموترات الإدخالuint8وint8.stdevهو الانحراف المعياري لكل قناة(R, G, B)الذي تُقسَم عليه الصورة بعد طرح المتوسط. بالنسبة لموترات تدرج الرمادي يُختزَل الانحراف المعياري إلى قيمة لمعان (luma) واحدة باستخدام0.299*R + 0.587*G + 0.114*B. يُتجاهَل لموترات الإدخالuint8وint8.roiهي منطقة اهتمام اختيارية(x, y, w, h)داخل صورة الإدخال لاقتصاصها. إذا كانتNone، تُستخدم الصورة الكاملة. تُمركَز المنطقة المقتصَّة وتُقاس مقياسًا ثنائي الخطية (مع الحفاظ على نسبة العرض إلى الارتفاع بحشو أسود) إلى أبعاد موتر إدخال النموذج.- __call__(image: image.Image) Normalization¶
- __call__(buffer: bytearray, shape: tuple[int, int, int, int], dtype: int) None
عند الاستدعاء بوسيط
image.Imageواحد، يُرجع كائنNormalizationجديدًا مرتبطًا بتلك الصورة. الكائن المرتبط هو ما يستدعيهml.Model.predict()داخليًا لملء موتر الإدخال. إذا لم تُضبَطroiعلى النسخة الأصلية، فإنها تُهيَّأ إلى حجم الصورة الكامل.عند الاستدعاء بـ
(buffer, shape, dtype)، يملأbufferفي مكانه بموتر الإدخال المُطبَّع للصورة المرتبطة سابقًا. يجب أن يكونshapeبقيمة(1, H, W, C)معCمساوية لـ1(تدرج الرمادي) أو3(RGB).dtypeهو رمز نوع ulab numpy (مثلord('f')لـ float32،ord('b')لـ int8،ord('B')لـ uint8). تطبق الموترات ذات الفاصلة العائمةscaleوmeanوstdev؛ بينما تُكتَب الموترات الصحيحة مباشرةً (مع إزاحة لـint8).