ml.apps — aplicații ML¶
Modulul ml.apps conține clase de aplicații ML de nivel înalt construite peste ml.Model.
clasa MicroSpeech – recunoaștere vocală¶
Obiectul MicroSpeech recunoaște cuvinte rostite simple folosind modelul MicroSpeech din TensorFlow Lite for Microcontrollers. Modelul implicit recunoaște "Yes" și "No".
- class ml.apps.MicroSpeech(preprocessor: ml.Model = None, micro_speech: ml.Model = None, labels: list[str] = None, **kwargs)¶
Creează un obiect MicroSpeech.
preprocessoreste preprocesorul audioml.Model. Dacă esteNone, se încarcă/rom/audio_preprocessor.tflite.micro_speecheste modelulml.Modelde recunoaștere vocală. Dacă esteNone, se încarcă/rom/micro_speech.tflite.labelseste o listă de șiruri de etichete care corespund categoriilor de ieșire ale modelului. Dacă esteNone, etichetele sunt preluate dinmicro_speech.labels.Orice argumente cu cuvinte-cheie suplimentare sunt transmise mai departe către
audio.init()(periferia audio este inițializată cuchannels=1,frequency=16000șisamples=320).- audio_callback(buf: bytes) None¶
Funcție de retroapelare (callback) internă pentru fluxul audio. Adaugă noi eșantioane din
bufîn tamponul audio circular, actualizează spectrograma rulând modelulpreprocessorpe cea mai recentă fereastră și actualizează istoricul predicțiilor rulând modelulmicro_speechpe spectrogramă. În mod normal nu se apelează direct.
- start_audio_streaming() None¶
Șterge spectrograma și istoricul predicțiilor, apoi pornește fluxul audio cu
MicroSpeech.audio_callbackca funcție de retroapelare (callback). Nu face nimic dacă fluxul este deja pornit.
- listen(timeout: int = 0, callback: callable = None, threshold: float = 0.65, filter: list[str] = ['Yes', 'No']) tuple[str, numpy.ndarray]¶
Ascultă un cuvânt rostit și returnează un tuplu
(label, average_scores)odată ce este detectată o etichetă al cărei scor mediu este pestethresholdși este conținută înfilter. ApeleazăMicroSpeech.start_audio_streamingdacă fluxul nu este deja pornit.timeouteste timpul maxim în milisecunde de ascultare. Dacă este0, ascultă la nesfârșit până când este recunoscut un cuvânt. Dacă este-1, rulează în mod neblocant și returnează imediat(None, average_scores)dacă niciun cuvânt nu este recunoscut; fluxul audio rămâne în funcțiune. Pentru orice valoare pozitivă, ascultă atâtea milisecunde și apoi returnează(None, average_scores)la expirare.callbackeste un apelabil opțional invocat cacallback(label, average_scores)atunci când un cuvânt este recunoscut, în locul returnării. Combinat cutimeout=0, acest lucru permite recunoașterea continuă.thresholdeste încrederea medie minimă necesară pentru a accepta o recunoaștere.filtereste lista de șiruri de etichete de acceptat. Recunoașterile din afara acestei liste sunt ignorate.