ml.apps --- تطبيقات تعلّم الآلة¶
تحتوي الوحدة ml.apps على فئات تطبيقات تعلّم الآلة عالية المستوى المبنية فوق ml.Model.
class MicroSpeech -- التعرّف على الكلام¶
يتعرّف كائن MicroSpeech على كلمات منطوقة بسيطة باستخدام نموذج MicroSpeech من TensorFlow Lite for Microcontrollers. يتعرّف النموذج الافتراضي على "Yes" و "No".
- class ml.apps.MicroSpeech(preprocessor: ml.Model = None, micro_speech: ml.Model = None, labels: list[str] = None, **kwargs)¶
ينشئ كائن MicroSpeech.
preprocessorهو المُعالِج المُسبَق للصوتml.Model. إذا كانNone، يُحمَّل/rom/audio_preprocessor.tflite.micro_speechهو نموذج التعرّف على الكلامml.Model. إذا كانNone، يُحمَّل/rom/micro_speech.tflite.labelsهي قائمة بسلاسل التسميات المطابِقة لفئات خرج النموذج. إذا كانتNone، تُؤخَذ التسميات منmicro_speech.labels.أي وسائط مفتاحية إضافية تُمرَّر إلى
audio.init()(تُهيَّأ الطرفية الصوتية بـchannels=1وfrequency=16000وsamples=320).- audio_callback(buf: bytes) None¶
دالة رد النداء الداخلية لتدفق الصوت. تُلحِق عيّنات جديدة من
bufبمخزن الصوت المتدحرج، وتحدّث الطيف الترددي بتشغيل نموذجpreprocessorعلى أحدث نافذة، وتحدّث سجل التنبؤ بتشغيل نموذجmicro_speechعلى الطيف الترددي. لا تُستدعى مباشرة عادةً.
- start_audio_streaming() None¶
تمسح الطيف الترددي وسجل التنبؤ، ثم تبدأ تدفق الصوت بـ
MicroSpeech.audio_callbackكدالة رد النداء. لا تفعل شيئاً إن كان التدفق قد بدأ بالفعل.
- listen(timeout: int = 0, callback: callable = None, threshold: float = 0.65, filter: list[str] = ['Yes', 'No']) tuple[str, numpy.ndarray]¶
تستمع لكلمة منطوقة وتُرجِع مجموعة من
(label, average_scores)بمجرد اكتشاف تسمية يكون متوسط درجتها أعلى منthresholdومُضمَّنة فيfilter. تستدعيMicroSpeech.start_audio_streamingإن لم يكن التدفق قد بدأ بالفعل.timeoutهو الحد الأقصى للوقت بالميلي ثانية للاستماع. إذا كان0، تستمع إلى ما لا نهاية حتى يُتعرَّف على كلمة. إذا كان-1، تعمل في وضع غير حاجب وتُرجِع فوراً(None, average_scores)إن لم يُتعرَّف على كلمة؛ ويُترَك تدفق الصوت قيد التشغيل. ولأي قيمة موجبة، تستمع لذلك العدد من الميلي ثانية ثم تُرجِع(None, average_scores)عند انتهاء المهلة.callbackهو دالة قابلة للاستدعاء اختيارية تُستدعى بصيغةcallback(label, average_scores)عند التعرّف على كلمة بدلاً من الإرجاع. وبدمجها معtimeout=0، يتيح هذا تعرّفاً مستمراً.thresholdهو الحد الأدنى لمتوسط الثقة المطلوب لقبول التعرّف.filterهي قائمة سلاسل التسميات المراد قبولها. تُتجاهَل عمليات التعرّف الخارجة عن هذه القائمة.