Iġġib l-AI u t-Tagħlim Awtomatiku
"
Speċifikazzjonijiet:
- Isem tal-Prodott: SDK tal-Estensjoni tat-Tagħlim Awtomatiku Verżjoni 2.1.1
- Data ta 'Ħruġ: 23 ta' Lulju, 2025
- Qafas: TensorFlow Lite għal Mikrokontrolluri (TFLM)
- Apparati Appoġġjati: Apparati tas-Serje 2 u SiWG917
Informazzjoni dwar il-Prodott:
L-SDK tal-Estensjoni tat-Tagħlim Awtomatiku Verżjoni 2.1.1 (magħrufa wkoll bħala
Silicon Labs AI/ML) hija estensjoni għas-Simplicity SDK li
jippermetti l-iżvilupp tal-AI/ML fuq apparati tas-Serje 2 u SiWG917 bl-użu tal-
Qafas Tensorflow Lite għall-Mikrokontrolluri.
Istruzzjonijiet għall-Użu:
Nibdew:
- Niżżel u installa s-Simplicity Studio.
- Installa l-Machine Learning Extension SDK Verżjoni 2.1.1.
- Irreferi għad-dokumentazzjoni tal-iżviluppatur għal gwida dwar kif twaqqaf
proġetti u l-użu ta' mudelli AI/ML.
Applikazzjoni tal-Klassifikatur tal-Immaġni:
L-SDK jinkludi Klassifikatur tal-Immaġni (Blat-Karta-Imqass)
applikazzjoni għal apparati xG24 u xG26. Biex tuża l-Image
Klassifikatur:
- Segwi t-tutorja pprovduta fid-dokumentazzjoni.
- Kun żgur li s-settings tal-proġett tiegħek huma kkonfigurati b'mod korrett għall-
apparat magħżul.
Tibdiliet fl-API:
L-SDK jintroduċi APIs ġodda għall-invokazzjoni u l-eżekuzzjoni tal-mudelli
għall-familja taċ-ċippa SiWG917. Biex tutilizza dawn l-APIs:
- Aġġorna l-kodiċi tiegħek biex tinkorpora s-sejħiet il-ġodda tal-API.
- Irreferi għad-dokumentazzjoni tal-API għal informazzjoni dettaljata dwar
l-użu ta' dawn l-APIs.
FAQ:
M: Liema apparati huma appoġġjati mill-Estensjoni tat-Tagħlim Awtomatiku
Verżjoni 2.1.1 tal-SDK?
A: L-SDK jappoġġja apparati tas-Serje 2 u SiWG917 għall-AI/ML
żvilupp.
M: X'inhuma l-karatteristiċi ewlenin miżjuda fil-verżjoni 2.1.1 tal-
SDK tal-Estensjoni?
A: Il-karatteristika ewlenija miżjuda hija Klassifikatur tal-Immaġni ġdid
Applikazzjoni u tutorja (Rock-Paper-Scissors) għal xG24 u xG26
apparati.
"`
Tagħlim Magni
Tagħlim Magni
Noti dwar ir-Rilaxx tal-Iżvilupp bit-Tagħlim Awtomatiku Nibdew
Nibdew bit-Tagħlim Awtomatiku Tensorflow Lite Micro mill-bidu Kontroll tal-Vuċi Light mill-bidu Demo tal-Kontroll tal-Vuċi Light Fundamentals Fundamentals tat-Tagħlim Awtomatiku MVP Accelerator Gwida għall-Iżviluppaturi Gwida għall-Iżviluppaturi tat-Tagħlim Awtomatiku Żid it-Tagħlim Awtomatiku ma' Proġett Ġdid jew Eżistenti Aġġorna jew Ibdel .tflite File Żvilupp ta' Mudell Setup ta' Estensjoni AI/ML Għodda tal-Konvertitur Flatbuffer Konfigurazzjoni I2S għal SiWx917 Referenza tal-API tat-Tagħlim Awtomatiku Mikrofonu Sewwieq I2S għat-Tagħlim Awtomatiku Funzjonijiet Speċifiċi għall-Mudell Varjabbli u Kostanti Speċifiċi għall-Mudell Ġeneratur tal-Karatteristiċi tal-Awdjo Ġeneratur tal-Karatteristiċi tal-Immaġni TensorFlow Lite Micro Debug TensorFlow Lite Micro Init Referenza tal-API tat-Tagħlim Awtomatiku Suġġetti Addizzjonali Sampl-Applikazzjonijiet
Fuqview Klassifikatur tal-Immaġni Għodda u Soluzzjonijiet ta' Partijiet Terzi
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
1/89
Żvilupp bit-Tagħlim Awtomatiku
Żvilupp bit-Tagħlim Awtomatiku
Żvilupp bit-Tagħlim Awtomatiku (AI/ML) bit-Tagħlim Awtomatiku tas-Silicon Labs
It-tagħlim awtomatiku huwa sottosett tal-intelliġenza artifiċjali (AI) li jippermetti lis-sistemi jitgħallmu mid-dejta u jtejbu l-prestazzjoni tagħhom mingħajr ma jkunu pprogrammati espliċitament. Jinvolvi algoritmi li jidentifikaw mudelli u jieħdu deċiżjonijiet ibbażati fuq id-dejta tal-input. It-tagħlim profond, fergħa speċjalizzata tat-tagħlim awtomatiku, juża netwerks newrali b'ħafna saffi biex jimmudella mudelli kumplessi u jikseb preċiżjoni għolja f'kompiti bħar-rikonoxximent tal-immaġni u tad-diskors. Flimkien, dawn it-teknoloġiji jagħtu s-saħħa lil ħafna applikazzjonijiet moderni, minn sistemi ta' rakkomandazzjoni għal vetturi awtonomi. Bħala parti mill-qasam usa' tal-AI, it-tagħlim awtomatiku u t-tagħlim profond huma essenzjali għall-ħolqien ta' sistemi li jistgħu jadattaw, jirraġunaw u jaġixxu b'mod intelliġenti.
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
2/89
Żvilupp bit-Tagħlim Awtomatiku
Silicon Labs bħalissa jappoġġja TensorFlow Lite għal Mikrokontrolluri (TFLM) u s-softwer assoċjat bħala estensjoni għal SiSDK.
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
3/89
Żvilupp bit-Tagħlim Awtomatiku
Il-kontenut f'dawn il-paġni huwa maħsub għal dawk li jixtiequ jesperimentaw jew diġà qed jiżviluppaw applikazzjoni tat-Tagħlim Awtomatiku bl-użu tat-teknoloġija ta' Silicon Labs. Għal informazzjoni dwar il-prodott ta' Silicon Labs Machine Learning: Ara l-paġni tal-prodott fuq silabs.com. Għal sfond dwar it-Tagħlim Awtomatiku: It-taqsima Fundamentali hija post tajjeb fejn tibda. Biex tibda bl-iżvilupp: Ara t-taqsima Getting Started biex tibda taħdem ma' exampapplikazzjonijiet le. Jekk diġà qiegħed fl-iżvilupp: Ara l-Gwida tal-Iżviluppatur. Jekk qed tuża l-Machine Learning SDK verżjoni 1.3.x jew aktar kmieni: Ara l-gwida tas-Setup tal-AI/ML Extension biex tagħmel tranżizzjoni minn v1.x għal v2.x tal-AI/ML SDK. Il-verżjonijiet preċedenti kienu appoġġjati bħala komponent tas-softwer tas-SiSDK, l-istack issa ġie mċaqlaq f'estensjoni. Għall-Kodiċi Sors tal-AI/ML Extension ta' Silicon Labs: Ara l-link tal-AI/ML Extension għal GitHub.
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
4/89
Tagħlim Magni
Tagħlim Magni
Tagħlim Awtomatiku (Silicon Labs AI/ML) Estensjoni SDK Verżjoni 2.1.1 (23 ta' Lulju, 2025) – Noti dwar ir-Rilaxx
Simplicity SDK Verżjoni 2025.6.1 L-Estensjoni tat-Tagħlim Awtomatiku hija magħrufa wkoll bħala “Silicon Labs AI/ML” u hija pprovduta bħala estensjoni għas-Simplicity SDK. Din tippermetti l-iżvilupp tal-AI/ML fuq apparati tas-Serje 2 u SiWG917 bl-użu tal-qafas Tensorflow Lite for Microcontrollers (TFLM). Ikklikkja hawn għal rilaxxi preċedenti.
Sommarju tar-Rilaxx
Karatteristiċi Ewlenin | Bidliet fl-API | Korrezzjonijiet ta' Bugs | Attivazzjoni taċ-Ċippa
Karatteristiċi Ewlenin
Miżjud f'2.1.1 Żiedna applikazzjoni u tutorja ġdida ta' Image Classifier (Blat-Karta-Imqass) għal apparati xG24 u xG26. Irranġajna żbalji meta ħloqna proġetti bl-użu tal-karatteristika "Ikkopja l-Kontenut" f'Simplicity Studio.
Miżjud fil-verżjoni 2.1.0 Il-kodiċi tas-sors ġie mċaqlaq għal Estensjoni. L-Estensjoni AI/ML issa hija Ġeneralment Disponibbli (GA), ġiet rilaxxata bħala build alfa qabel. Żied l-appoġġ għall-familja taċ-ċippa SiWG917 permezz ta' ottimizzazzjonijiet tas-softwer. Id-dokumentazzjoni tal-iżviluppatur tat-Tagħlim Awtomatiku (AI/ML) ġiet organizzata mill-ġdid.
Bidliet fl-API
Mibdul f'2.1.1 Xejn.
Mibdul fil-verżjoni 2.1.0 APIs ġodda għall-invokazzjoni u l-eżekuzzjoni tal-mudelli għall-familja taċ-ċippa SiWG917. Varjabbli ġodda għall-interazzjoni mal-mudelli ML.
Bug Fixs
Irranġat f'2.1.1 Irranġaw żbalji meta ħloqt proġetti bl-użu tal-karatteristika "Ikkopja l-Kontenut" f'Simplicity Studio.
Irranġat fil-verżjoni 2.1.0 Irranġata t-tnixxija tal-memorja tal-mikrofonu meta l-mudell ma jitgħabbax sew.
Attivazzjoni taċ-Ċippa
Miżjud f'2.1.1 Xejn.
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
5/89
Tagħlim Magni
Miżjud fil-verżjoni 2.1.0 EFR32xG2x SiWG917
Karatteristiċi Ewlenin
Karatteristiċi Ġodda | Titjib | Karatteristiċi Mneħħija | Karatteristiċi Deprekati
Nota: Ara l-Matriċi tal-Karatteristiċi għal lista ta' kwalunkwe API applikabbli, eż.ampfajls, varjanti tas-softwer, modi, ħardwer, u interfejsijiet tal-host applikabbli għal kull karatteristika.
Karatteristiċi ġodda
Miżjud fl-applikazzjoni u t-tutorja tal-Klassifikatur tal-Immaġni 2.1.1 (Rock-Paper-Scissors) għal apparati xG24 u xG26, ara Klassifikazzjoni tal-Immaġni
Miżjud fil-verżjoni 2.1.0 Il-kodiċi tas-sors ġie trasferit għall-Estensjoni AI/ML. L-applikazzjonijiet tal-awdjo ġew attivati għall-familja taċ-ċippa SiWG917, ara Klassifikatur tal-Awdjo u Dawl tal-Kontroll tal-Vuċi exampApplikazzjonijiet għal SiWG917. Żdiedu APIs ġodda għall-invokazzjoni u l-eżekuzzjoni tal-mudelli għall-familja taċ-ċippa SiWG917, ara l-Bidliet fl-API għad-dettalji. Id-dokumentazzjoni tal-iżviluppatur tat-Tagħlim Awtomatiku (AI/ML) ġiet organizzata mill-ġdid u riveduta.ampkompletament biex tarmonizzah mal-aħjar prattiki tad-dokumentazzjoni, iċċekkja għal mogħdijiet ġodda fid-dokumentazzjoni.
Titjib
Miżjud f'2.1.1 Irranġa żbalji meta jinħolqu proġetti bl-użu tal-karatteristika "Ikkopja l-Kontenut" f'Simplicity Studio.
Miżjud fil-verżjoni 2.1.0 F'din ir-rilaxx ġew miżjuda biss karatteristiċi ġodda. Ma saru l-ebda titjib fil-karatteristiċi eżistenti.
Karatteristiċi mneħħija
Xejn.
Karatteristiċi skaduti
Xejn.
Bidliet fl-API
APIs Ġodda | APIs Modifikati | APIs Imneħħija | APIs Deprekati
APIs ġodda
Miżjud f'2.1.1 Xejn.
Miżjud fil-verżjoni 2.1.0
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
6/89
Tagħlim Magni
Firma Ġdida tal-API sl_status_t sl_ml_ _model_init() sl_status_t sl_ml_ _model_run() statiku TfliteMicroModel _mudell statiku sl_status_t _status_tal-mudell uint8_t* _model_flatbuffer kostant int _tul_tal-_mudell_flatbuffer
APIs Modifikati
Xejn.
APIs imneħħija
Xejn.
APIs deprekati
Xejn.
Bug Fixs
Irranġat f'2.1.1
ID
Deskrizzjoni tal-Ħarġa
1479968
Irranġa żbalji meta toħloq proġetti bl-użu tal-karatteristika “Ikkopja l-Kontenut” f’Simplicity Studio.
API deprekata mibdula b'din (jekk hemm) Xejn Xejn Xejn Xejn Xejn Xejn
Referenza ta' GitHub / Salesforce (jekk hemm) Xejn
Varjanti tas-Softwer Affettwati, Ħardwer, Modi, Interfejsijiet tal-Ospitanti
Standard EFR32xG2x, SiWG917 SoC
Irranġat f'2.1.0
ID
Deskrizzjoni tal-Ħarġa
1452807
Tnixxija tal-Memorja f'sl_ml_audio_feature_generation_init() minħabba Tindif ta' Riżorsi Nieqsa.
Referenza ta' GitHub / Salesforce (jekk hemm) Xejn
Varjanti tas-Softwer Affettwati, Ħardwer, Modi, Interfejsijiet tal-Ospitanti
SoC EFR32xG2x standard
Attivazzjoni taċ-Ċippa
Miżjud f'2.1.1 Xejn.
Miżjud fil-verżjoni 2.1.0
Ċippa tal-Familja taċ-Ċippa
OPNs / Bordijiet / Kombinazzjonijiet ta' OPNs
OPN: EFR32xG2x, SiWG917x Bordijiet: BRD2601b, BRD2608a, BRD2605a, BRD2705a Ospitanti Esterni: N/A
Varjanti ta' Softwer Appoġġjati (jekk applikabbli) Standard
Modi Appoġġjati
Interfaces Ospitanti Appoġġjati
SoC
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
7/89
Tagħlim Magni
Applikazzjoni Eżampil-Bidliet
Ġdid Examples | Modifikat Examples | Tneħħew l-Examples | Ex Deprekatamples
Ġdid Examples
Miżjud fil-verżjoni 2.1.1
ExampIsem Deskrizzjoni
Klassifikatur tal-Immaġni (RockPaperScissors)
Ara readme.md
Din l-applikazzjoni tuża TensorFlow Lite għal Mikrokontrolluri biex tħaddem mudelli ta' tagħlim awtomatiku tal-klassifikazzjoni tal-immaġni biex tikklassifika l-ġesti tal-idejn minn dejta tal-immaġni maqbuda minn kamera esterna. L-iskoperta hija viżwalizzata bl-użu tal-LEDs fuq il-bord u r-riżultati tal-klassifikazzjoni huma miktuba fil-port serjali VCOM.
Varjanti ta' Softwer Appoġġjati (jekk applikabbli) Standard
Modi Appoġġjati
SoC
OPNs / Bordijiet / Kombinazzjonijiet ta' OPNs Appoġġjati
OPN: EFR32xG2x Bordijiet: BRD2601b, BRD2608a Ospitanti Esterni: N/A
Interfaces Ospitanti Appoġġjati
Miżjud fil-verżjoni 2.1.0
Example Isem
Deskrizzjoni
Klassifikatur tal-Awdjo għal SiWG917
Ara readme.md
Dawl tal-Kontroll tal-Vuċi għal SiWG917
Din l-applikazzjoni tuża TensorFlow Lite għal Mikrokontrolluri biex tħaddem mudelli ta' tagħlim awtomatiku ta' klassifikazzjoni tal-awdjo biex tikklassifika kliem minn dejta awdjo rreġistrata minn mikrofonu. L-iskoperta hija viżwalizzata bl-użu tal-LEDs fuq il-bord u r-riżultati tal-klassifikazzjoni huma miktuba fis-serialport tal-VCOM. Din l-applikazzjoni tuża TensorFlow Lite għal Mikrokontrolluri biex tiskopri l-kliem mitkellem "mixgħul" u "mitfi" minn dejta awdjo rreġistrata fuq il-mikrofonu. Il-kliem kjavi skoperti jintużaw biex jikkontrollaw LED fuq il-bord.
Ara readme.md
Varjanti ta' Softwer Appoġġjati (jekk applikabbli) Standard
Standard
Modi Appoġġjati
SoC
SoC
OPNs / Bordijiet / Kombinazzjonijiet ta' OPNs Appoġġjati
OPN: SiWG917x Bordijiet: BRD2605a Ospitanti Esterni: N/A
OPN: SiWG917x Bordijiet: BRD2605a Ospitanti Esterni: N/A
Interfaces Ospitanti Appoġġjati
Modifikat Examples
Xejn.
Imneħħija Eżamples
Xejn.
Ex Deprekatamples
Xejn.
Kwistjonijiet Magħrufa u Limitazzjonijiet
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
8/89
Tagħlim Magni
ID 1463269
Deskrizzjoni tal-Kwistjoni jew tal-Limitazzjoni L-app Blink taġixxi b'mod differenti meta taħdem fuq is-Serje 2, meta mqabbla mas-SiWG917. L-LED għandu luminożità bażi fuq SiWG917 waqt li jteptep iżda jintefa kompletament fuq is-Serje 2. Dan minħabba l-implimentazzjonijiet differenti tas-sewwieq tal-LED fuq iż-żewġ familji ta' ċippijiet.
Referenza ta' GitHub / Salesforce (jekk hemm) Xejn
1463268 Il-komponent tal-ġenerazzjoni tal-karatteristika tal-awdjo juri żball ta' konfigurazzjoni None għal SiWG917.
1464105
Is-sejħiet tal-API għall-invokazzjoni u l-eżekuzzjoni tal-mudell huma differenti fuq il-familji taċ-ċippi tas-Serje 2 u SiWG917.
Xejn
Soluzzjoni (jekk hemm)
Varjanti tas-Softwer Affettwati, Ħardwer, Modi, Interfejsijiet tal-Ospitanti
Għadha ma ġietx implimentata soluzzjoni alternattiva. Il-kwistjoni qed tiġi investigata biex issir tranżizzjoni minn implimentazzjoni PWM tas-softwer għal waħda tal-ħardwer għas-sewwieq tal-LED fuq SiWG917.
Din il-kwistjoni hija kożmetika u qed tiġi investigata soluzzjoni għal rilaxx futur. Din il-kwistjoni ma taffettwax il-proġetti tas-Serje 2.
Is-Serje 2 tuża
sl_ml_model_init()
, u
sl_tflite_micro_ge t_interpreter()->Invoka()
għall-invokazzjoni u l-eżekuzzjoni tal-mudell, rispettivament, filwaqt li SiWG917 juża
sl_ml_ _mudell_init()
,
sl_ml_ _mudell_ġirja()
.
SiWG917M111MGTBA BRD2605a SoC
SiWG917M111MGTBA BRD2605a SoC
SiWG917M111MGTBA BRD2605a SoC
Impatt tal-Bidliet fir-Rilaxx
Dikjarazzjonijiet tal-Impatt | Gwida dwar il-Migrazzjoni
Dikjarazzjonijiet tal-Impatt
Miżjud f'2.1.1 Xejn.
Miżjud fil-verżjoni 2.1.0
Bidla
Il-kodiċi tas-sors imċaqlaq fl-Estensjoni tal-AI/ML
Impatt
Il-komponenti ġew trasferiti minn “Tagħlim Awtomatiku” għal “Silicon Labs AI/ML v2.1.0 > Tagħlim Awtomatiku”
Varjanti tas-Softwer Affettwati jekk applikabbli Standard
Modi Affettwati
SoC
OPNs / Bordijiet / Kombinazzjonijiet ta' OPNs Affettwati
OPN: EFR32xG2x, SiWG917x Bordijiet: BRD2601b, BRD2608a, BRD2605a, BRD2705a Ospitanti Esterni: N/A
Interfejsijiet tal-Ospitanti Affettwati
Gwida dwar il-Migrazzjoni
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
9/89
Tagħlim Magni
Immigra għal Estensjoni AI/ML
Bl-użu ta' dan ir-rilaxx
X'hemm fir-Rilaxx? | Softwer Kompatibbli | Installazzjoni u Użu | Għajnuna u Feedback
X'hemm fir-Rilaxx?
Miżjud fil-verżjoni 2.1.1 Din ir-rilaxx tal-garża tinkludi applikazzjoni u tutorja ġdida ta' Image Classifier (Rock-Paper-Scissors) għal apparati xG24 u xG26, u tirranġa żbalji meta jinħolqu proġetti bl-użu tal-karatteristika "Copy Contents" f'Simplicity Studio.
Miżjud fil-verżjoni 2.1.0
Din hija l-ewwel verżjoni fejn is-softwer tal-AI/ML huwa pprovdut bħala estensjoni għas-Simplicity SDK. Jappoġġja l-familja tas-Serje 2 u SiWG917 ta' apparati Silicon Labs li jużaw il-qafas Tensorflow Lite for Microcontrollers (TFLM). L-aqwa parti ta' din ir-rilaxx huma t-titjib fil-prestazzjoni tal-SDK, li jġib appoġġ għall-familja taċ-ċippa SiWG917, li għandha arkitettura SoC ferm differenti meta mqabbla mal-apparati tas-Serje 2. SiWG917 hija ċippa Wi-Fi ta' prestazzjoni għolja u enerġija baxxa li hija ideali għal applikazzjonijiet tal-AI/ML. Għalhekk, l-applikazzjonijiet tal-AI/ML tiegħek issa jistgħu jisfruttaw il-konnettività Wi-Fi għal applikazzjonijiet u servizzi tal-AI/ML ibbażati fuq il-cloud.
Software Kompatibbli
Miżjud fil-verżjoni 2.1.1
Kit tal-Iżvilupp tas-Softwer (SDK)
Verżjoni jew Varjant Kompatibbli
SDK tas-Sempliċità: 2025.6.1 SDK tal-WiSeConnect: 3.5.1
Miżjud fil-verżjoni 2.1.0
Kit tal-Iżvilupp tas-Softwer (SDK)
Verżjoni jew Varjant Kompatibbli
SDK tas-Sempliċità: 2025.6.1 SDK tal-WiSeConnect: 3.5.1
Installazzjoni u Użu
Miżjud fil-verżjoni 2.1.1
Biex taġġorna s-softwer eżistenti tiegħek b'din ir-rilaxx, aġġorna Simplicity Studio għall-aħħar verżjoni, SiSDK għal v2025.6.1, WiSeConnect SDK għal v3.5.1, u AI/ML Extension għal v2.1.1 mill-maniġer tal-installazzjoni ta' Studio, jew niżżel l-SDKs mil-links rispettivi elenkati fit-taqsima tas-Softwer Kompatibbli hawn fuq. Biex taġġorna AI/ML Extension, jekk jogħġbok irreferi għall-gwida tas-Setup ta' AI/ML Extension.
Miżjud fil-verżjoni 2.1.0
Biex taġġorna s-softwer eżistenti tiegħek b'din ir-rilaxx, aġġorna Simplicity Studio għall-aħħar verżjoni, SiSDK għal v2025.6.0, WiSeConnect SDK għal v3.5.0, u AI/ML Extension għal v2.1.0 mill-maniġer tal-installazzjoni ta' Studio, jew niżżel l-SDKs mil-links rispettivi elenkati fit-taqsima tas-Softwer Kompatibbli hawn fuq. Biex taġġorna AI/ML Extension, jekk jogħġbok irreferi għall-gwida tas-Setup ta' AI/ML Extension.
Biex tħaddem l-ewwel demo tiegħek, ara l-Gwida Introduttiva tagħna
Biex tibda l-iżvilupp tiegħek, ara l-Gwida tal-Iżviluppatur tagħna
Għal informazzjoni dwar l-Integrazzjoni tas-Secure Vault, ara Secure Vault.
Biex terġa 'view Notifiki ta' Konsulenza dwar is-Sigurtà u s-Softwer u immaniġġja l-preferenzi tan-notifika tiegħek:
1. Mur fuq https://community.silabs.com/. 2.
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
10/89
Tagħlim Magni
Idħol bil-kredenzjali tal-kont tiegħek. 3. Ikklikkja l-pro tiegħekfile ikona fir-rokna ta' fuq tal-lemin tal-paġna. 4. Agħżel Notifiki mill-menù dropdown. 5. Fit-taqsima Notifiki, mur fit-tab In-Notifiki tal-Prodott Tiegħi biex terġa'view Notifiki storiċi ta' Konsulenza dwar is-Sigurtà u s-Softwer 6. Biex timmaniġġja l-preferenzi tiegħek, uża t-tab Immaniġġja n-Notifiki biex tippersonalizza liema aġġornamenti tal-prodott u pariri tirċievi.
Biex titgħallem aktar dwar is-softwer f'din ir-rilaxx, ara d-dokumentazzjoni online tagħna.
Għajnuna u Feedback
Ikkuntattja l-Appoġġ ta' Silicon Labs. Biex tuża l-għodda Ask AI tagħna biex tikseb tweġibiet, ara l-qasam tat-tiftix fil-parti ta' fuq ta' din il-paġna.
Nota: Ask AI hija sperimentali.
Ikseb għajnuna mill-komunità tal-iżviluppaturi tagħna.
Karatteristika Matriċi
Karatteristiċi Appoġġjati | Karatteristiċi Mhux Appoġġjati
Karatteristiċi appoġġjati
Miżjud f'2.1.1 Xejn.
Miżjud fil-verżjoni 2.1.0
Isem tal-Karatteristika APIs speċifiċi għall-Mudell
Deskrizzjoni APIs speċifiċi għall-mudell għall-invokazzjoni u l-eżekuzzjoni ta' mudelli AI/ML fuq l-apparat.
Kwalità
Ismijiet tal-API Relatati
Sperimentali
Gwida ta' referenza tal-API tal-AI/ML
sl_ml_ _mudell_i nit()
sl_ml_ _mudell_r mhux()
Varjanti ta' Softwer Appoġġjati, Ħardwer, Modi, Interfejsijiet tal-Ospitanti
Standard SiWG917 SoC
Ex Relatatampl-Ismijiet
Klassifikatur tal-Awdjo għal SiWG917 Dawl tal-Kontroll tal-Vuċi għal SiWG917
Awdjo
Applikazzjonijiet tal-awdjo attivati fuq
Applikazzjonijiet SiWG917 permezz ta' softwer
ottimizzazzjonijiet
Sperimentali
Standard SiWG917 SoC
Klassifikatur tal-Awdjo għal SiWG917 Dawl tal-Kontroll tal-Vuċi għal SiWG917
Karatteristiċi mhux appoġġjati
Miżjud f'2.1.1 Xejn.
Miżjud fil-verżjoni 2.1.0
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
11/89
Tagħlim Magni
SiWG917 ma jużax il-komponent TensorFlow integrat direttament; minflok, l-appoġġ huwa pprovdut permezz tal-ġenerazzjoni awtomatika tal-kodiċi mmaniġġjata mill-konfiguraturi. L-apparati tas-Serje 2 ma jappoġġjawx ottimizzazzjonijiet ġodda tas-softwer iżda, minħabba l-arkitettura tagħhom, għadhom effiċjenti daqs SiWG917, jekk mhux aktar.
Politika ta' Rilaxx u Manutenzjoni ta' SDK
Ara l-Politika tagħna dwar ir-Rilaxx u l-Manutenzjoni tal-SDK.
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
12/89
Nibdew
Nibdew
Nibdew bit-Tagħlim Awtomatiku
Introduzzjoni
Silicon Labs TensorFlow Lite għall-Integrazzjoni tal-Mikrokontrolluri
Silicon Labs jipprovdi appoġġ robust għal TensorFlow Lite for Microcontrollers (TFLM) bħala estensjoni għal Simplicity Studio SDK (SiSDK), u joffri lill-iżviluppaturi għażliet flessibbli għall-iskjerament ta' mudelli ta' tagħlim awtomatiku fuq mikrokontrolluri EFx32 u Si91x bl-użu ta' Project Configurator għal Simplicity Studio. Din il-gwida tkopri kif TensorFlow Lite for Microcontrollers huwa integrat mas-SiSDK bl-użu tal-estensjoni AIML għall-użu tal-apparati EFx32 u Si91x ta' Silicon Labs.
TensorFlow Lite għal Mikrokontrolluri
TensorFlow huwa qafas ta' tagħlim profond użat ħafna, bil-kapaċità li jiżviluppa u jesegwixxi netwerks newrali fuq varjetà ta' pjattaformi. TensorFlow Lite jipprovdi sett ta' għodod ottimizzati speċifikament immirati lejn it-tagħlim awtomatiku għal apparati mobbli u integrati.
TensorFlow Lite għal Mikrokontrolluri (TFLM) jipprovdi speċifikament librerija C++ għat-tħaddim ta' mudelli ta' tagħlim awtomatiku f'ambjenti integrati b'restrizzjonijiet stretti tal-memorja. Silicon Labs jipprovdi għodod u appoġġ għat-tagħbija u t-tħaddim ta' mudelli mħarrġa minn qabel li huma kompatibbli ma' din il-librerija.
Estensjoni tal-AIML
Installazzjoni tal-Estensjoni AI/ML għal Silicon Labs Simplicity Studio
Għal struzzjonijiet dettaljati dwar l-installazzjoni tal-estensjoni AI/ML, irreferi għall-Gwida tal-Installazzjoni tal-Estensjoni AI/ML. Din l-estensjoni tagħti s-setgħa lill-iżviluppaturi biex jintegraw il-kapaċitajiet tat-tagħlim awtomatiku fil-proġetti tagħhom ibbażati fuq Silicon Labs.
Taħriġ u Kwantifikazzjoni ta' Mudell
Biex titwettaq inferenza ta' netwerk newrali fuq apparat ta' Silicon Labs, l-ewwel wieħed jeħtieġ mudell imħarreġ fil-format TFLite Flatbuffer. Hemm żewġ approċċi li għandhom jikkunsidraw l-iżviluppaturi b'esperjenza b'TensorFlow:
Segwi tutorials ippubblikati għat-taħriġ ta' netwerks newrali bl-użu ta' TensorFlow, kif deskritt fl-Iżvilupp ta' Mudell. L-użu tas-sħab tal-AI/ML ta' Silicon Labs. Ara t-taqsima tas-Sħab tal-AI/ML dwar il-paġna tat-Tagħlim Awtomatiku ta' Silicon Labs fl-IoT għal aktar informazzjoni. L-użu tas-Silicon Labs Machine Learning Toolkit, pakkett ta' referenza Python li jikkombina u jissimplifika l-passi kollha meħtieġa tat-taħriġ ta' TensorFlow.
Żvilupp ta' Applikazzjoni ta' Inferenza bl-użu ta' Simplicity Studio, SiSDK u estensjoni AIML
Wara li jkollok mudell TFLite mħarreġ u kwantizzat, il-pass li jmiss huwa li twaqqaf il-libreriji TFLM biex imexxu l-inferenza fuq apparat Silicon Labs.
Konfigurazzjoni tal-Proġett
Il-Konfiguratur tal-Proġett jinkludi libreriji TFLM bħala komponenti tas-softwer. Dawn il-komponenti tas-softwer jistgħu jiżdiedu ma' kwalunkwe proġett eżistenti. Huma deskritti fil-Komponent tal-SDK FuqviewIl-komponenti ewlenin meħtieġa għal kwalunkwe proġett ta' tagħlim awtomatiku huma kif ġej:
1. TensorFlow Lite Micro. Dan huwa l-komponent ewlieni tas-softwer li jiġbed id-dipendenzi kollha tat-TFLM. 2. Implimentazzjoni tal-kernel tat-TFLM appoġġjata. Kernel huwa implimentazzjoni speċifika ta' hardware/pjattaforma ta' operazzjoni ta' livell baxx użata minn
TensorFlow. L-għażla tal-kernel tista' tbiddel drastikament il-prestazzjoni u l-ħin tal-komputazzjoni ta' netwerk newrali. B'mod awtomatiku, l-aħjar
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
13/89
Nibdew
L-implimentazzjoni tal-kernel għall-apparat partikolari tintgħażel awtomatikament. 3. Logger tad-debug TFLM appoġġjat. Il-Konfiguratur tal-Proġett awtomatikament juża l-implimentazzjoni tal-I/O Stream tal-logger. Biex tiddiżattiva
logging kompletament, żid il-komponent Debug Logging Disabled.
Minbarra l-komponenti TFLM meħtieġa, jistgħu jiżdiedu mal-proġett komponenti tas-softwer għall-ksib u l-ipproċessar minn qabel tad-dejta tas-sensuri. Bħala eżempjuampGħal applikazzjonijiet awdjo, Silicon Labs jipprovdi komponent ġeneratur tal-karatteristiċi awdjo li jinkludi karatteristiċi DSP qawwija biex jiffiltra u jiġbed karatteristiċi minn dejta awdjo mhux ipproċessata, biex jintuża bħala frontend għal applikazzjonijiet ibbażati fuq mikrofonu. Is-sewwieqa żviluppati minn Silicon Labs għal mikrofoni, aċċelerometri, u sensuri oħra jipprovdu interface sempliċi biex tinkiseb dejta tas-sensuri biex titma' f'netwerk.
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
14/89
Tensorflow Lite Micro mill-bidu
Tensorflow Lite Micro mill-bidu
Tagħlim Awtomatiku fuq Apparati tas-Silicon Labs mill-bidu
Din il-gwida tassumi familjarità mal-kontenut tal-Gwida għall-Bidu. Tipprovdi dettalji dwar kif taħdem mat-TensorFlow API, bħala alternattiva għall-inizjalizzazzjoni awtomatika pprovduta minn Silicon Labs kif deskritt fil-gwida dwar iż-Żieda tat-Tagħlim Awtomatiku ma' Proġett Ġdid.
Inklużjoni tal-Mudell
Bil-komponent TensorFlow Lite Micro miżjud fil-Konfiguratur tal-Proġett, il-pass li jmiss huwa li tgħabbi l-mudell file fil-proġett. Biex tagħmel dan, ikkopja l-mudell .tflite file fid-direttorju config/tflite tal-proġett. Il-konfiguratur tal-proġett jipprovdi għodda li awtomatikament tikkonverti .tflite files f'sors u header ta' sl_tflite_micro_model files. Id-dokumentazzjoni sħiħa għal din l-għodda hija disponibbli fuq Flatbuffer Converter Tool. Biex tagħmel dan il-pass manwalment, tista' tinħoloq array C mill-.tflite bl-użu ta' għodda bħal xxd.
Inizjalizzazzjoni u Inferenza tat-TFLM
Biex toħloq u tuża l-APIs ta' TensorFlow, segwi l-passi hawn taħt biex iżżid il-funzjonalità tat-TFLM mas-saff tal-applikazzjoni ta' proġett. Din il-gwida ssegwi mill-qrib il-Gwida tal-Bidu tat-TFLM, u hija adattata għall-użu mal-proġetti ta' Silicon Labs. Jeħtieġ li tittieħed nota speċjali rigward l-operazzjonijiet użati minn TensorFlow. L-operazzjonijiet huma tipi speċifiċi ta' komputazzjoni eżegwiti minn saff fin-netwerk newrali. L-operazzjonijiet kollha jistgħu jiġu inklużi fi proġett f'daqqa, iżda dan jista' jżid id-daqs binarju b'mod drammatiku (>100kB). L-għażla aktar effiċjenti hija li jiġu inklużi biss l-operazzjonijiet meħtieġa biex jitħaddem mudell speċifiku. Iż-żewġ għażliet huma deskritti fil-passi hawn taħt.
0. Iddiżattiva l-inizjalizzazzjoni awtomatika pprovduta mill-komponent TensorFlow Lite Micro
Biex twaqqaf TensorFlow manwalment, l-ewwel iddiżattiva l-inizjalizzazzjoni awtomatika tal-mudell billi tiddiżattiva Inizjalizza awtomatikament il-mudell fil-header tal-konfigurazzjoni għall-komponent TensorFlow Lite Micro (sl_tflite_micro_config.h).
1. Inkludi l-intestaturi tal-librerija
Jekk qed tuża sett limitat ta' operazzjonijiet apposta (rakkomandat):
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
15/89
Tensorflow Lite Micro mill-bidu
#inkludi “tensorflow/lite/micro/micro_mutable_op_resolver.h” #inkludi “tensorflow/lite/micro/tflite_bridge/micro_error_reporter.h” #inkludi “tensorflow/lite/micro/micro_interpreter.h” #inkludi “tensorflow/lite/schema/schema_generated.h” #inkludi “tensorflow/lite/version.h”
Jekk qed tuża l-operazzjonijiet kollha:
#inkludi “tensorflow/lite/micro/all_ops_resolver.h” #inkludi “tensorflow/lite/micro/micro_error_reporter.h” #inkludi “tensorflow/lite/micro/micro_interpreter.h” #inkludi “tensorflow/lite/schema/schema_generated.h” #inkludi “tensorflow/lite/version.h”
2. Inkludi l-intestatura tal-mudell
Minħabba li l-folder autogen/ dejjem ikun inkluż fil-mogħdijiet tal-inklużjoni tal-proġett, mudell importat jista' jiġi inkluż b'mod ġeneriku fi kwalunkwe sors tal-proġett file ma':
#inkludi “sl_tflite_micro_model.h”
Jekk ma tużax il-Flatbuffer Converter Tool, inkludi l- file li fiha d-definizzjoni tal-mudell tiegħek minflok.
3. Iddefinixxi arena tal-memorja
TensorFlow jeħtieġ arena tal-memorja għall-ħażna waqt ir-runtime ta' input, output, u matriċi intermedji. Din l-arena għandha tiġi allokata b'mod statiku, u d-daqs tal-arena jiddependi fuq il-mudell użat. Huwa rakkomandat li tibda b'daqs kbir ta' arena waqt il-prototipar.
constexpr int daqs_tal-arena_tensorjali = 10 * 1024; uint8_t daqs_tal-arena_tensorjali[daqs_tal-arena_tensorjali];
Nota: Wara l-prototipazzjoni, huwa rakkomandat li d-daqs tal-arena tal-memorja jiġi aġġustat manwalment għall-mudell użat. Wara li l-mudell jiġi ffinalizzat, ibda b'daqs kbir tal-arena u naqqasha gradwalment sakemm l-allokazzjoni tal-interpretu (deskritta hawn taħt) tfalli.
4. Issettja r-reġistrazzjoni
Dan għandu jsir anke jekk jintuża l-komponent Debug Logging Disabled. Huwa rrakkomandat li dan jiġi istanzjat statikament u li l-funzjonijiet logger init jiġu msejħa matul is-sekwenza app_init() f'app.cpp.
statiku tflite::MicroErrorReporter mikro_żball_reporter; tflite::ErrorReporter* żball_reporter = &rapporter_ta'_mikro_żball;
5. Tagħbija l-mudell
Nibqgħu sejrin matul is-sekwenza app_init(), il-pass li jmiss huwa li l-mudell jitgħabba fit-tflite:
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
16/89
Tensorflow Lite Micro mill-bidu
const tflite::Model* mudell = ::tflite::GetModel(sl_tflite_model_array); jekk (mudell->verżjoni() != TFLITE_SCHEMA_VERSION) {
TF_LITE_REPORT_ERROR(error_reporter, “Il-mudell ipprovdut huwa l-verżjoni tal-iskema %d mhux ugwali” “għall-verżjoni appoġġjata %dn”, model->version(), TFLITE_SCHEMA_VERSION);
}
6. Oħloq istanza tar-riżolver tal-operazzjonijiet
Jekk qed tuża l-operazzjonijiet kollha, dan huwa sempliċi ħafna. Matul app_init(), agħmel instanzija statika tar-riżolver permezz ta':
riżolver statiku tat-tflite::AllOpsResolver;
Nota: It-tagħbija tal-operazzjonijiet kollha tirriżulta f'żidiet kbar fid-daqs tal-binarju. Huwa rakkomandat li tuża sett ta' operazzjonijiet apposta.
Jekk qed tuża sett ta' operazzjonijiet apposta, irid jiġi kkonfigurat u inizjalizzat ops resolver mutabbli. Dan ivarja skont il-mudell u l-applikazzjoni. Biex jiġu ddeterminati l-operazzjonijiet utilizzati f'.tflite partikolari file, għodod ta' partijiet terzi bħal netron jistgħu jintużaw biex jivviżwalizzaw in-netwerk u jispezzjonaw liema operazzjonijiet qed jintużaw.
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
17/89
Tensorflow Lite Micro mill-bidu
L-exampIl-fajl t'hawn taħt jgħabbi l-operaturi minimi meħtieġa għat-TensorFlow hello_world exampmudell le. Kif muri fil-viżwalizzazzjoni ta' Netron, dan jeħtieġ biss saffi konnessi kompletament:
#iddefinixxi NUM_OPS 1
tflite statiku::MicroMutableOpResolver micro_op_resolver; jekk (micro_op_resolver.AddFullyConnected() != kTfLiteOk) {
ritorn; }
Jekk tuża l-Għodda tal-Konvertitur Flatbuffer, din tiġġenera makro tal-preproċessur C li awtomatikament tissettja t-tflite::MicroMutableOpResolver ottimali għall-flatbuffer:
#inkludi “sl_tflite_micro_opcode_resolver.h”
SL_TFLITE_MICRO_OPCODE_RESOLVER(mikro_op_resolver, żball_reporter);
7. Inizjalizza l-interpretu
L-aħħar pass waqt app_init() huwa li jiġi istanzjat interpretu u jiġu allokati buffers fl-arena tal-memorja biex l-interpretu jużahom:
// dikjarazzjoni statika tflite::MicroInterpreter* interpretu = nullptr;
// inizjalizzazzjoni f'app_init tflite::MicroInterpreter interpreter(model, micro_op_resolver, tensor_arena,
tensor_arena_size, error_reporter); interpretu = &interpreter_struct; TfLiteStatus allocate_status = interpretu.AllocateTensors(); jekk (allocate_status != kTfLiteOk) {
TF_LITE_REPORT_ERROR(error_reporter, “AllocateTensors() falliet”); ritorn; }
L-allokazzjoni tfalli jekk l-arena tkun żgħira wisq biex taqbel mal-operazzjonijiet u l-buffers kollha meħtieġa mill-mudell. Aġġusta t-tensor_arena_size kif xieraq biex issolvi l-problema.
8. Mexxi l-mudell
Għal imġieba awtomatika f'applikazzjoni bare metal, huwa rakkomandat li l-mudell jitħaddem waqt app_process_action() f'app.cpp sabiex iseħħu inferenzi perjodiċi matul il-linja standard tal-avvenimenti. It-tħaddim tal-mudell jinvolvi tliet stages:
1. Id-dejta tas-sensuri tiġi pproċessata minn qabel (jekk meħtieġ) u mbagħad tiġi pprovduta bħala input lill-interpretu.
TfLiteTensor* input = interpreter.input(0); // jaħżen 0.0 għat-tensur tad-dħul tal-mudell input->data.f[0] = 0.;
Huwa importanti li l-forma tad-dejta tas-sensur li tidħol tqabbel mal-forma mistennija mill-mudell. Dan jista' jiġi mistoqsi b'mod fakultattiv billi jiġu ċċekkjati l-proprjetajiet definiti fl-istruttura tal-input. Eż.ample ta' dan għall-eżempju hello_worldample hija murija hawn taħt:
TfLiteTensor* input = interpretu->input(0); jekk ((input->dims->size != 1) || (input->type != kTfLiteFloat32)) {
TF_LITE_REPORT_ERROR(error_reporter, “Parametri tat-tensur tad-dħul ħżiena fil-mudell”);
ritorn; }
2. L-interpretu mbagħad jiġi invokat biex imexxi s-saffi kollha tal-mudell.
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
18/89
Tensorflow Lite Micro mill-bidu
TfLiteStatus invoke_status = interpretu->Invoke(); jekk (invoke_status != kTfLiteOk) {
TF_LITE_REPORT_ERROR(error_reporter, “L-invokazzjoni falliet fuq x_val: %fn”, static_cast (x_val));
ritorn; }
3. It-tbassir tal-output jinqara mill-interpretu.
TfLiteTensor* output = interpreter->output(0); // Ikseb il-valur tal-output mit-tensor float value = output->data.f[0];
F'dan il-punt, għandu jitwettaq imġiba dipendenti fuq l-applikazzjoni bbażata fuq it-tbassir tal-output. L-applikazzjoni se tħaddem inferenza fuq kull iterazzjoni ta' app_process_action().
Silta sħiħa tal-Kodiċi
Wara li segwi l-passi ta' hawn fuq u għażilt li tuża r-reżolutur tal-ops mutabbli, l-app.cpp li jirriżulta issa jidher kif ġej:
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
19/89
Tensorflow Lite Micro mill-bidu
#inkludi “tensorflow/lite/micro/micro_mutable_op_resolver.h” #inkludi “tensorflow/lite/micro/micro_error_reporter.h” #inkludi “tensorflow/lite/micro/micro_interpreter.h” #inkludi “tensorflow/lite/schema/schema_generated.h” #inkludi “tensorflow/lite/version.h”
#inkludi “sl_tflite_micro_model.h”
#iddefinixxi NUM_OPS 1
constexpr int daqs_tal-arena_tensorjali = 10 * 1024; uint8_t daqs_tal-arena_tensorjali[daqs_tal-arena_tensorjali];
tflite::MicroInterpreter* interpretu = nullptr;
/********************************************************************************//** * Inizjalizza l-applikazzjoni. ******************************************************************************/
vojt app_init(vojt) {
statiku tflite::MicroErrorReporter mikro_error_reporter; tflite::ErrorReporter* error_reporter = µ_error_reporter;
const tflite::Model* mudell = ::tflite::GetModel(g_model); jekk (mudell->verżjoni() != TFLITE_SCHEMA_VERSION) {
TF_LITE_REPORT_ERROR(error_reporter, “Il-mudell ipprovdut huwa l-verżjoni tal-iskema %d mhux ugwali” “għall-verżjoni appoġġjata %dn”, model->version(), TFLITE_SCHEMA_VERSION);
}
tflite statiku::MicroMutableOpResolver micro_op_resolver; jekk (micro_op_resolver.AddFullyConnected() != kTfLiteOk) {
ritorn; }
statiku tflite::MicroInterpreter interpreter_struct(mudell, mikro_op_resolver, tensor_arena, daqs_tensor_arena, rapportatur_ta'_żbalji);
interpretu = &interpreter_struct; TfLiteStatus allocate_status = interpretu.AllocateTensors(); jekk (allocate_status != kTfLiteOk) {
TF_LITE_REPORT_ERROR(error_reporter, “AllocateTensors() falliet”); ritorn; } }
/********************************************************************************//** * Funzjoni ta' timmarka l-app. ******************************************************************************/
azzjoni_proċess_tal-app vojta (vojta) {
// jaħżen 0.0 għat-tensur tad-dħul tal-mudell TfLiteTensor* input = interpreter->input(0); input->data.f[0] = 0.;
TfLiteStatus invoke_status = interpretu->Invoke(); jekk (invoke_status != kTfLiteOk) {
TF_LITE_REPORT_ERROR(error_reporter, “L-invokazzjoni falliet fuq x_val: %fn”, static_cast (x_val));
ritorn; }
TfLiteTensor* output = interpretu->output(0); valur float = output->data.f[0]; }
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
20/89
Tensorflow Lite Micro mill-bidu
Examples
Kif deskritt fl-SampApplikazzjoni Fuqview, exampfajls żviluppati mit-tim ta' TensorFlow li juru l-eżemplar hello_worldampkif deskritt f'din il-gwida, kif ukoll eżempju sempliċi ta' rikonoxximent tad-diskorsample micro_speech, huma inklużi fis-Simplicity SDK. Innota li l-micro_speech example juri l-użu tal-MicroMutableOpResolver biex jgħabbi biss l-operazzjonijiet meħtieġa.
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
21/89
Dawl tal-Kontroll tal-Vuċi mill-Bidu
Dawl tal-Kontroll tal-Vuċi mill-Bidu
Passi minn Tarf sa Tarf biex Toħloq Applikazzjoni ta' ML tad-Dawl Kontrollata bil-Vuċi mill-Bidu
Din il-gwida tagħti dettalji dwar il-proċess tal-ħolqien ta' applikazzjoni tad-dawl ikkontrollata bil-vuċi bl-użu ta' TensorFlow Lite Micro (TFLM) fuq Kit ta' Żvilupp EFR32xG24. Dan l-eż.ample juża l-mudell keyword_spotting_on_off_v3.tflite (rakkomandat) għad-detezzjoni tal-kliem kjavi "mixgħul" u "mitfi". Għal aktar informazzjoni dwar il-ħolqien tal-mudell, ara t-tutorja tal-MLTK.
Ħardwer: EFR32xG24 Dev Kit Board (BRD2601B Rev A01) Softwer: Simplicity Studio (SiSDK 2024.12 jew aktar tard)
1. Installa l-Estensjoni tal-AI/ML
1. Ikklikkja Installa fuq il-bar ta' fuq.
2. Ikklikkja Immaniġġja l-Pakketti Installati.
3. Taħt l-SDKs, installa l-aħħar verżjoni tal-estensjoni AI/ML (disponibbli minn SiSDK 2024.12 'il quddiem).
2. Ibda Proġett Ġdid ta' Simplicity
1. Mill- File fil-menù, agħżel Ġdid > Silicon Labs Project Wizard.
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
22/89
Dawl tal-Kontroll tal-Vuċi mill-Bidu
2. Agħżel il-bord fil-mira (EFR32xG24 Development Kit), l-SDK (Simplicity SDK v2024.12.0 jew aktar tard), u l-IDE/Toolchain (eż., GNU ARM v12.2.1). Ikklikkja Li Jmiss.
3. Agħżel Proġett C++ vojt. Ikklikkja Li jmiss. 4. Agħti isem lill-proġett tiegħek u kklikkja Temm.
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
23/89
Dawl tal-Kontroll tal-Vuċi mill-Bidu
3. Żid Komponent tas-Softwer tat-Tagħlim Awtomatiku
1. Iftaħ il-proġett tiegħek file (dak bl-estensjoni .slcp).
2. Taħt Komponenti tas-Softwer, fittex għal “aiml”. 3. Ippermetti l-estensjoni AI/ML billi tikklikkja Ippermetti l-Estensjoni. 4. Espandi AI/ML >> Tagħlim Awtomatiku >> TensorFlow. Agħżel TensorFlow Lite Micro u kklikkja Installa. 5. Int se tintalab tagħżel komponenti addizzjonali:
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
24/89
Dawl tal-Kontroll tal-Vuċi mill-Bidu
Reġistrazzjoni tad-Debug: Agħżel Reġistrazzjoni tad-Debug bl-użu tal-IO Stream (jekk meħtieġ) jew Reġistrazzjoni tad-Debug Diżattivata. Ikklikkja Installa. Kernels: Agħżel MVPv1 Accelerated Kernels. Ikklikkja Installa.
4. Ikkonfigura l-Komponent TFLM
1. Ikklikkja Ikkonfigura fil-Komponent tas-Softwer TensorFlow Lite Micro.
2. Issettja d-Daqs tal-Arena. Għal dan l-eżempjuampjiġifieri, daħħal “-1”. Dan jgħid lis-sistema biex tiddetermina b'mod dinamiku d-daqs ottimali tal-arena waqt l-eżekuzzjoni.
5. Inkludi u Ikkonverti l-Mudell
1. Oħloq direttorju tflite fid-direttorju tal-konfigurazzjoni tal-proġett tiegħek (mhux obbligatorju iżda rakkomandat). 2. Iddreggja u poġġi l-kelma prinċipali_spotting_on_off_v2.tflite file fid-direttorju config/tflite (jew direttament fil-config jekk int
qbiżt il-ħolqien tas-subdirettorju). 3. Il-qafas awtomatikament jikkonverti l-.tflite file f'array C (sl_tflite_micro_model.c fid-direttorju tal-autogen).
L-interpretu TFLM jiġi inizjalizzat ukoll awtomatikament.
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
25/89
Dawl tal-Kontroll tal-Vuċi mill-Bidu
6. Profile il-Mudell (Mhux obbligatorju)
Il-profiling tal-mudell jista' jkun ta' għajnuna għall-ottimizzazzjoni. Għal utenti avvanzati li jixtiequ janalizzaw il-prestazzjoni tal-mudell, l-MLTK Model ProfileL-Utilità r tista' tintuża. Dan mhux strettament meħtieġ għal dan l-eż. bażikuample.
7. Mexxi l-Mudell
1. Inkludi t-TensorFlow Init API: Żid il-kodiċi meħtieġ biex tinizjalizza l-interpretu TFLM. 2. Ipprovdi d-Dejta tal-Input:
Ikseb pointer għat-tensur tal-input: TfLiteTensor* input = sl_tflite_micro_get_input_tensor(); . Tella' d-dejta tal-input tiegħek (l-awdjo tal-mikrofonu kwantizzat għal int8) fit-tensur tal-input: input->data.int8f[0] = ; (Ara l-eż.amp(kodiċi għall-ġenerazzjoni tal-karatteristiċi tal-awdjo). 3. Mexxi l-Inferenza: Invoka l-interpretu: TfLiteStatus invoke_status = sl_tflite_micro_get_interpreter()->Invoke(); Iċċekkja għal żbalji: jekk (invoke_status != kTfLiteOk) {
TF_LITE_REPORT_ERROR(sl_tflite_micro_get_error_reporter(), “parametri tat-tensur tad-dħul ħżiena fil-mudell”); }
4. Aqra l-Output: Ikseb pointer għat-tensor tal-output: TfLiteTensor* output = sl_tflite_micro_get_output_tensor(); Aċċessa d-dejta tal-output: int8_t value = output->data.int8_tf[0];
8. Implimenta l-Post-Proċessar
1. Żviluppa Algoritmu: Oħloq algoritmu biex tinterpreta l-output tal-mudell (eż., il-valur int8_t) u tiddetermina jekk intqalx “on” jew “off”.
2. Avvenimenti ta' Trigger: Abbażi tal-output ipproċessat wara l-ipproċessar, attiva azzjonijiet bħall-kontroll tal-LED. Irreferi għal voice_control_light.cc, recognize_commands.cc, u recognize_commands.h files fl-estensjoni aiml examples għal gwida dwar l-implimentazzjoni ta' din il-loġika, inkluż il-kontroll tal-LED u r-rikonoxximent tal-kmandi. Ikollok bżonn iżżid komponenti għall-mikrofonu, l-ipproċessar tal-awdjo, u l-kontroll tal-LED mal-proġett tiegħek.
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
26/89
Demo tad-Dawl tal-Kontroll tal-Vuċi
Demo tad-Dawl tal-Kontroll tal-Vuċi
Demo tad-Dawl bil-Kontroll tal-Vuċi – Gwida għall-Bidu Mgħaġġel
Din il-gwida tipprovdi struzzjonijiet biex tintwera malajr l-applikazzjoni tad-Dawl tal-Kontroll tal-Vuċi bl-użu ta’ binarji mibnija minn qabel. Din id-demo tippermettilek tikkontrolla LED fuq EFR32xG24 Dev Kit (BRD2601B Rev A01) billi titkellem "mixgħul" jew "mitfi" f'mikrofonu.
Ħardwer: EFR32xG24 Dev Kit Board (BRD2601B Rev A01) Softwer: Simplicity Studio (SiSDK 2024.12 jew aktar tard)
Passi
1. Iftaħ Simplicity Studio: Iftaħ Simplicity Studio (billi tuża l-buttuna rokit fir-rokna ta' fuq tal-lemin). 2. Qabbad l-Apparat Tiegħek: Qabbad l-EFR32xG24 Dev Kit tiegħek mal-kompjuter tiegħek. Stenna 5-10 sekondi biex l-apparat jiġi rikonoxxut minn
Simplicity Studio. Issolvi l-problemi: Jekk l-apparat tiegħek mhux rikonoxxut, ikklikkja l-buttuna “aġġorna” fis-sotto-tieqa tal-Adapters tad-Debug (ġeneralment tinsab fin-naħa t’isfel tax-xellug).
3. Agħżel l-Apparat tiegħek: Agħżel l-apparat konness tiegħek mill-dropdown tal-Apparati Konnessi u kklikkja Ibda. 4. Innaviga għad-Demo: Mur fuq Example Proġetti u Demos. Fil-menu tal-kuntest fuq ix-xellug, skrollja 'l isfel għal Kapaċità u agħżel
Tagħlim Awtomatiku. 5. Mexxi d-Demo: Sib id-demo tad-Dawl tal-Kontroll tal-Vuċi u kklikkja Mexxi. Dan se jteptep il-binarju mibni minn qabel fuq il-bord tiegħek.
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
27/89
Fundamenti
Fundamenti
Fundamenti tat-Tagħlim Awtomatiku
TensorFlow Lite għal Mikrokontrolluri huwa qafas li jipprovdi sett ta' għodod għat-tħaddim ta' inferenza ta' netwerk newrali fuq mikrokontrolluri. Fih għażla wiesgħa ta' operaturi tal-kernel b'appoġġ tajjeb għal netwerks kwantizzati ta' 8-bit integer. Il-qafas huwa limitat għall-inferenza tal-mudell u ma jappoġġjax it-taħriġ. Għal informazzjoni dwar kif tħarreġ netwerk newrali, ara s-Silicon Labs Machine Learning Toolkit (MLTK).
Silicon Labs jipprovdi integrazzjoni ta' TensorFlow Lite għal Mikrokontrolluri mas-Simplicity SDK. Ara l-Gwidi tal-Bidu għal struzzjonijiet pass pass dwar kif tuża t-Tagħlim Awtomatiku fil-proġett tiegħek.
Komponent tal-SDK Fuqview
Il-komponenti tas-softwer meħtieġa biex tuża TensorFlow Lite għal Mikrokontrolluri jistgħu jinstabu taħt Machine Learning > TensorFlow fl-UI tal-browser tal-komponenti tas-softwer fil-konfiguratur tal-proġett Simplicity Studio.
TensorFlow Lite Mikro
Dan il-komponent fih il-qafas sħiħ TensorFlow Lite għall-Mikrokontrolluri, u awtomatikament jiġbed l-aktar implimentazzjoni ottimali tal-kernels għall-apparat magħżul għall-proġett awtomatikament. Biex tuża TensorFlow Lite Micro, dan il-komponent huwa l-uniku wieħed li jeħtieġ li jiġi installat espliċitament. Madankollu, huwa possibbli li jiġu installati manwalment implementazzjonijiet differenti tal-kernel jekk mixtieq, pereżempju biex titqabbel il-prestazzjoni tal-inferenza jew id-daqs tal-kodiċi, u biex tiġi installata manwalment implementazzjoni differenti ta' debug logging. B'mod awtomatiku, il-komponent TensorFlow Lite Micro juża l-Flatbuffer Converter Tool biex jikkonverti .tflite. file f'firxa C u biex dan il-mudell tan-netwerk newrali jiġi inizjalizzat awtomatikament. Ara t-taqsima dwar l-inizjalizzazzjoni awtomatika għal aktar dettalji.
Implimentazzjonijiet tal-Kernel
Kernels ta' Referenza
Dan il-komponent jipprovdi implimentazzjonijiet tas-softwer mhux ottimizzati tal-kernels kollha. Din hija implimentazzjoni awtomatika li hija mfassla biex tkun faċli biex tinqara u tista' taħdem fuq kwalunkwe pjattaforma. Bħala riżultat, dawn il-kernels jistgħu jaħdmu aktar bil-mod minn implimentazzjoni ottimali.
Kernels Ottimizzati tas-CMSIS-NN
Xi kernels għandhom implimentazzjonijiet li ġew ottimizzati għal ċerti arkitetturi tas-CPU bl-użu tal-librerija CMSIS-NN. L-użu ta' dawn il-kernels meta jkunu disponibbli jista' jtejjeb il-prestazzjoni tal-inferenza b'mod sinifikanti. Billi jiġi attivat dan il-komponent, l-implimentazzjonijiet tal-kernel ottimizzati disponibbli jiżdiedu mal-proġett, u jissostitwixxu l-implimentazzjonijiet tal-kernel ta' referenza korrispondenti. Il-kernels li jifdal jerġgħu lura għall-użu tal-implimentazzjonijiet ta' referenza billi jiddependu fuq il-komponent tal-kernel ta' referenza.
Kernels Aċċellerati tal-MVP
Xi kernels għandhom implementazzjonijiet ottimizzati għall-aċċeleratur MVP disponibbli fuq partijiet magħżula ta' Silicon Labs. L-użu ta' dawn il-kernels se jtejjeb il-prestazzjoni tal-inferenza. Billi tippermetti dan il-komponent, l-implementazzjonijiet aċċellerati tal-kernel disponibbli jiżdiedu mal-proġett, u jissostitwixxu l-implementazzjonijiet tal-kernel ottimizzati jew ta' referenza korrispondenti. Il-kernels li jifdal jużaw l-implementazzjonijiet ottimizzati jew ta' referenza skont il-komponenti korrispondenti. Ara aktar dettalji dwar l-aċċeleratur biex titgħallem liema kernels huma appoġġjati, u liema restrizzjonijiet japplikaw.
Reġistrazzjoni tad-Debug bl-użu tal-I/O Stream / Diżattivata
Il-logging tad-debug jintuża f'TensorFlow biex juri informazzjoni dwar id-debug u l-iżbalji. Barra minn hekk, jista' jintuża biex juri r-riżultati tal-inferenza. Il-logging tad-debug huwa attivat awtomatikament, b'implimentazzjoni li tuża I/O Stream biex tipprintja fuq UART għall-COM virtwali.
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
28/89
Fundamenti
port fuq kits tal-iżvilupp (VCOM). Ir-reġistrazzjoni tista' tiġi diżattivata billi jiġi żgurat li l-komponent "Debug Logging Disabled" ikun inkluż fil-proġett.
Dipendenzi ta' Partijiet Terzi ta' TensorFlow
Verżjoni speċifika tal-librerija CMSIS-NN tintuża bħal fil-każ ta' TensorFlow Lite for Microcontrollers biex jiġu ottimizzati ċerti kernels. Din il-librerija hija inkluża fil-proġett flimkien ma' TensorFlow Lite for Microcontrollers. TensorFlow jiddependi fuq verżjoni avvanzata ta' CMSIS-NN, filwaqt li l-bqija tas-Simplicity SDK juża rilaxx stabbli tas-CMSIS. Huwa rakkomandat ħafna li tevita li tuża funzjonijiet mill-verżjoni tas-Simplicity SDK ta' CMSIS-DSP u CMSIS-NN x'imkien ieħor fil-proġett u minflok tuża l-verżjoni inkluża ma' TensorFlow Lite for Microcontrollers biex tevita kunflitti ta' verżjoni bejn it-tnejn.
Ġeneratur tal-Karatteristiċi tal-Awdjo
Il-ġeneratur tal-karatteristiċi tal-awdjo jista' jintuża biex jiġu estratti karatteristiċi tal-ħin-frekwenza minn sinjal awdjo għall-użu ma' applikazzjonijiet ta' klassifikazzjoni tal-awdjo tat-tagħlim awtomatiku (ML). Il-firxa ta' karatteristiċi ġġenerata hija spettrogramma skalata mel, li tirrappreżenta l-informazzjoni tal-frekwenza tas-sinjal ta' s partikolari.ampit-tul tal-awdjo.
Meta jintuża flimkien mal-Flatbuffer Converter Tool, il-ġeneratur tal-karatteristiċi tal-awdjo awtomatikament jikkonsma s-settings tal-konfigurazzjoni tiegħu mill-parametri tal-mudell tal-.tflite flatbuffer. Din il-metadata tista' tiżdied mal-flatbuffer billi jintuża s-Silicon Labs Machine Learning Toolkit. Dan jiżgura li s-settings użati waqt l-inferenza fuq l-apparat inkorporat jaqblu mas-settings użati waqt it-taħriġ. Jekk jintużaw mudelli mingħajr din il-metadata, l-għażla ta' konfigurazzjoni "Enable Manual Frontend Configurations" tista' tiġi attivata, u l-valuri tal-konfigurazzjoni jiġu ssettjati fil-header tal-konfigurazzjoni sl_ml_audio_feature_generation_config.h.
Inizjalizzazzjoni Awtomatika tal-Mudell Predefinit
Meta l-komponent TensorFlow Lite Micro jiżdied mal-proġett, dan awtomatikament jipprova inizjalizza awtomatikament mudell awtomatiku bl-użu tat-TFLite Micro Init API. Dan iwettaq l-inizjalizzazzjoni ta' TensorFlow Lite Micro billi joħloq opcode resolver u interpretu għall-flatbuffer mogħti. Barra minn hekk, joħloq it-tensor arena buffer.
Il-mudell użat mill-kodiċi tal-inizjalizzazzjoni awtomatika ġej mill-Għodda tal-Konvertitur Flatbuffer. Jekk il-flatbuffer ġie prodott bl-użu tal-MLTK, jista' jkun fih metadata dwar id-daqs meħtieġ tat-tensor arena. Jekk din l-informazzjoni tkun preżenti, tiġi inizjalizzata awtomatikament għad-daqs korrett. Jekk jintuża flatbuffer mhux MLTK, id-daqs tat-tensor arena għandu jiġi kkonfigurat manwalment bl-użu tal-konfigurazzjoni. file għall-komponent TensorFlow Lite Micro.
Jekk l-inizjalizzazzjoni awtomatika fil-bidu mhix mixtieqa, din tista' titfi bl-użu tal-għażla ta' konfigurazzjoni Inizjalizza l-mudell awtomatikament (SL_TFLITE_MICRO_INTERPRETER_INIT_ENABLE).
Verżjoni
L-estensjoni AI/ML ta' Silicon Labs tinkorpora TensorFlow Lite għall-Mikrokontrolluri verżjoni #02414075e7f718a2d0412775fcadbf28fb4cc5aa f'third_party/tflite-micro/. L-offerta ewlenija ta' TensorFlow Lite għall-Mikrokontrolluri mhijiex aġġornata, il-kontenut addizzjonali kollu għall-apparati ta' Silicon Labs jitwassal fid-direttorju ewlieni tal-estensjoni.
Għodod u Imsieħba ta' Partijiet Terzi
Għodda
Netron hija għodda ta' viżwalizzazzjoni għal netwerks newrali, kompatibbli mal-mudell .tflite files. Dan huwa utli għal viewl-operazzjonijiet użati f'mudell, id-daqsijiet tat-tensuri u l-kernels, eċċ.
Imsieħba tal-AI/ML
L-imsieħba tal-AI/ML ta' Silicon Labs jipprovdu kompetenza u pjattaformi għall-ġbir tad-dejta, l-iżvilupp tal-mudelli, u t-taħriġ. Ara l-paġni tal-imsieħba tat-teknoloġija biex titgħallem aktar.
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
29/89
Aċċeleratur tal-MVP
Aċċeleratur tal-MVP
Aċċeleratur tal-MVP
L-aċċeleratur MVP huwa ko-proċessur iddisinjat biex iwettaq operazzjonijiet matriċi u vettorjali. L-użu ta' implimentazzjonijiet tal-kernel aċċellerati bil-ħardwer se jnaqqas il-ħin tal-inferenza tan-netwerk newrali, kif ukoll inaqqas it-tagħbija mill-proċessur prinċipali biex jippermettilu jwettaq kompiti oħra jew jorqod. Silicon Labs implimenta operaturi komuni tan-netwerk newrali bħala programmi li għandhom jiġu eżegwiti fuq l-MVP u integra dawn ma' TensorFlow Lite għal Mikrokontrolluri. L-MVP għandu 5 kontrolluri tal-firxa, li kull wieħed minnhom jista' jappoġġja l-iterazzjoni fi 3 dimensjonijiet indipendenti. Kull dimensjoni hija limitata għal 1024 element, b'pass bejn kull element ta' 2047. Il-fattur limitanti għall-biċċa l-kbira tal-operazzjonijiet tan-netwerk newrali huwa għalhekk il-prodott tad-dimensjonijiet tal-wisa' u l-fond, peress li dan isir il-pass fid-dimensjoni tal-għoli. L-operazzjonijiet kollha aċċellerati mill-MVP jieħdu numri interi ta' 8-bit iffirmati bħala input u output. Jekk id-dimensjoni interna tat-tensur għandha daqs par, kull element jista' jkun fih żewġ valuri int8, interpretati bħala valur int8 kumpless wieħed mill-aċċeleratur. L-aċċeleratur imbagħad jista' jappoġġja b'mod effettiv 2048 valur int8. Jekk id-dimensjoni interna hija fard, l-aċċeleratur irid iwettaq komputazzjoni waħda kull darba, li tnaqqas il-prestazzjoni u tillimita d-daqs tad-dimensjoni għal 1024 valur int8. L-operaturi elenkati hawn taħt se jiġu aċċellerati bl-użu tal-MVP jekk id-daqsijiet tat-tensur jippermettu. Jekk tensur speċifiku ma jistax jiġi aċċellerat, l-implimentazzjoni awtomatikament terġa' lura għall-użu ta' implimentazzjonijiet ottimizzati (CMSIS-NN) jew ta' kernel ta' referenza waqt ir-runtime. Biex timmassimizza l-probabbiltà li operatur ikun appoġġjat mill-aċċeleratur, uża numri ta' kanali b'valuri pari meta tfassal il-mudell. Internament, l-aċċeleratur MVP juża matematika b'punt f'wiċċ l-ilma ta' 16-il bit, anke meta jieħu numri interi ta' 8-bit bħala input. Dan ifisser li hemm tnaqqis żgħir fl-eżattezza tal-komputazzjonijiet, li jista' jkun notevoli speċjalment meta jitwettqu operazzjonijiet li jakkumulaw ħafna elementi. Għal aktar informazzjoni dwar l-aċċeleratur tal-ħardwer MVP, ara l-manwal ta' referenza għal EFR32xG24.
Operaturi TensorFlow aċċellerati
Żid
Isem tal-operatur TensorFlow: ADD Kwalunkwe daqs ta' tensur huwa appoġġjat.
Kompletament Konness (Dens)
Isem tal-operatur TensorFlow: FULLY_CONNECTED, FULLY_CONNECTED_INT8 Jappoġġja tensuri fejn id-dimensjonijiet kollha huma fil-limitu ta' 1024 element. Jappoġġja wkoll tensuri akbar fejn id-daqs tal-aħħar dimensjoni huwa dekomponibbli f'żewġ fatturi li t-tnejn huma fil-limitu ta' 1024 element.
PixxinaMedja2D
Isem tal-operatur TensorFlow: AVERAGE_POOL_2D Jappoġġja tensuri fejn width*channels huwa fil-limitu ta' 2047 element stride u d-dimensjonijiet kollha huma fil-limitu ta' 1024 element.
MaxPool2D
Isem tal-operatur TensorFlow: MAX_POOL_2D
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
30/89
Aċċeleratur tal-MVP
Jappoġġja tensuri fejn width*channels huwa fil-limitu ta' 2047 element stride u d-dimensjonijiet kollha huma fil-limitu ta' 1024 element.
Konv2D
Isem tal-operatur TensorFlow: CONV_2D
Jappoġġja tensuri fejn width*channels huwa fil-limitu ta' 2047 element stride u d-dimensjonijiet kollha huma fil-limitu ta' 1024 element.
Konverżazzjoni fil-fond2D
Isem tal-operatur TensorFlow: DEPTHWISE_CONV_2D
Jappoġġja tensuri fejn width*channels huwa fil-limitu ta' 2047 element stride u d-dimensjonijiet kollha huma fil-limitu ta' 1024 element. Id-dilatazzjoni mhijiex appoġġjata.
TraspożizzjoniKonv2D
Isem tal-operatur TensorFlow: TRANSPOSE_CONV_2D
Jappoġġja tensuri fejn width*channels huwa fil-limitu ta' 2047 element stride u d-dimensjonijiet kollha huma fil-limitu ta' 1024 element. Id-dilatazzjoni mhijiex appoġġjata.
Sospensjoni tal-Eżekuzzjoni Waqt li Tistenna l-Aċċeleratur
L-API tas-softwer għall-aċċeleratur MVP qed jimblokka, jiġifieri kwalunkwe sejħa lis-sewwieq MVP se tistenna li titlesta qabel ma tirritorna mis-sejħa tal-funzjoni. Biex jiffranka l-enerġija, is-sewwieq jista' b'għażla jissospendi l-eżekuzzjoni tal-proċessur prinċipali waqt li jistenna li l-aċċeleratur itemm operazzjoni. B'mod awtomatiku, il-proċessur prinċipali jistenna l-aċċeleratur b'mod okkupat.
L-ebda rqad (0)
Meta tintuża l-għażla "No sleep", il-qalba tal-MCU tistenna b'mod okkupat sakemm l-MVP jintemm. Din hija l-għażla li tipprovdi l-aktar ħin mgħaġġel ta' eżekuzzjoni tal-MVP. L-għażla "No sleep" tista' tintuża f'applikazzjoni bare metal jew f'applikazzjoni li tuża sistema operattiva f'ħin reali (RTOS).
Daħħal EM1 (1)
Meta tintuża l-għażla “Enter EM1”, l-MCU titpoġġa fil-Modalità tal-Enerġija 1 kull meta s-sewwieq jistenna li programm MVP jitlesta. L-għażla “Enter EM1” mhijiex sikura biex tintuża f'applikazzjoni li tuża RTOS għax tipprevjeni l-iskedar xieraq tal-RTOS.
Ħajt RTOS tar-rendiment (2)
Meta tintuża l-għażla “Yield RTOS thread”, il-kompitu li jkun qed jistenna li l-programm MVP jitlesta se jċedi, u b'hekk kompiti oħra fis-sistema jkunu jistgħu jaħdmu jew potenzjalment iħalli lill-iskedatur ipoġġi s-sistema f'modalità sleep. Il-“Yield RTOS thread” jirrikjedi li l-applikazzjoni tkun qed tuża RTOS. Il-modalità tal-enerġija tas-sewwieq MVP tista' tiġi kkonfigurata billi tissettja l-għażla ta' konfigurazzjoni SL_MVP_POWER_MODE fil-header tal-konfigurazzjoni sl_mvp_config.h.
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
31/89
Gwida għall-Iżviluppaturi
Gwida għall-Iżviluppaturi
Gwida għall-Iżviluppaturi tat-Tagħlim Awtomatiku
Il-kontenut tal-Gwida tal-Iżviluppatur huwa organizzat kif ġej: Żid it-Tagħlim Awtomatiku ma' Proġett Ġdid jew Eżistenti: Tiddeskrivi l-proċess taż-żieda ta' mudell ta' tagħlim awtomatiku ma' proġett ġdid jew eżistenti. Aġġorna jew Ibdel .tflite File: Jiddeskrivi l-passi biex taġġorna u tissostitwixxi mudell ta' tagħlim awtomatiku fil-proġett tiegħek. Żvilupp ta' Mudell: Jispjega l-proċedura biex tiżviluppa mudell ta' tagħlim awtomatiku. Setup ta' Estensjoni AI/ML: Spjegazzjoni fil-fond ta' kif iżżid estensjoni AI/ML mas-setup. Għodda tal-Konvertitur Flatbuffer: Turi kif flatbuffer jiġi kkonvertit f'bytes biex jiġi inkluż fil-header fileKonfigurazzjoni tal-I2S għal SiWx917: Tipprovdi dettalji dwar il-konfigurazzjoni tal-I2S għal apps tal-awdjo AI/ML fuq SiWx917.
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
32/89
Żid it-Tagħlim Awtomatiku ma' Proġett Ġdid jew Eżistenti
Żid it-Tagħlim Awtomatiku ma' Proġett Ġdid jew Eżistenti
Żid it-Tagħlim Awtomatiku ma' Proġett Ġdid jew Eżistenti
Din il-gwida tipprovdi dettalji dwar kif iżżid it-Tagħlim Awtomatiku ma' proġett ġdid jew eżistenti, bl-użu tal-APIs tal-wrapper għal TensorFlow Lite għal Mikrokontrolluri pprovduti minn Silicon Labs għall-inizjalizzazzjoni awtomatika tal-qafas TFLM. Il-gwida tassumi li diġà jeżisti proġett fl-ispazju tax-xogħol ta' Simplicity Studio u li installajt l-estensjoni AI/ML. Jekk qed tibda mill-bidu, tista' tibda bi kwalunkwe sampapplikazzjoni le jew l-applikazzjoni Empty C++. Jekk jogħġbok irreferi għas-Setup tal-Estensjoni AI/ML għal struzzjonijiet dwar kif tinstalla l-estensjoni AI/ML. TFLM għandu API C++, għalhekk il-kodiċi tal-applikazzjoni li jinteraġixxi magħha jrid ukoll jinkiteb f'C++. Jekk qed tibda b'applikazzjoni li hija predominantement kodiċi C, ara t-taqsima dwar l-interazzjoni mal-kodiċi C għal pariri dwar kif tistruttura l-proġett tiegħek billi żżid kodiċi C++ separat. file għall-interfaċċja tat-TFLM.
Installa l-Komponent TensorFlow Lite Micro
1. Iftaħ il-proġett tiegħek file (dak bl-estensjoni .slcp).
2. Taħt Komponenti tas-Softwer, fittex għal “aiml”.
3. Ippermetti l-estensjoni AI/ML billi tikklikkja Ippermetti l-Estensjoni.
4. Espandi: AI/ML > Tagħlim Awtomatiku > TensorFlow. Agħżel TensorFlow Lite Micro u kklikkja Installa. Nota: Aqbeż dan il-pass għall-applikazzjonijiet SiWx917.
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
33/89
Żid it-Tagħlim Awtomatiku ma' Proġett Ġdid jew Eżistenti 5. Int se tintalab tagħżel komponenti addizzjonali: Nota: Aqbeż dan il-pass għall-applikazzjonijiet SiWx917.
Reġistrazzjoni tad-Debug: Agħżel Reġistrazzjoni tad-Debug bl-użu ta' IO Stream (jekk meħtieġ) jew Reġistrazzjoni tad-Debug Diżattivata. Ikklikkja Installa. NOTA: Jekk il-proġett tiegħek ma kienx fih diġà implimentazzjoni ta' I/O Stream, tista' tirċievi twissija ta' validazzjoni tad-dipendenza. Din mhix problema, iżda sempliċement tfisser li jeħtieġ li ssir għażla ta' backend tal-I/O Stream. Il-backends USART jew EUSART huma l-aktar komuni, peress li dawn jistgħu jikkomunikaw ma' PC konness permezz tal-port COM virtwali tal-kit tal-iżvilupp (VCOM).
IO Stream: Jista' jkollok bżonn tinstalla wkoll il-komponent EUSART jew USART jekk ma tarax output fuq il-console tas-serjali tiegħek.
Aċċetta s-suġġeriment awtomatiku ta' "vcom" bħala l-isem tal-istanza, li awtomatikament jikkonfigura l-pinout biex jikkonnettja mal-linji VCOM tal-bord tal-iżvilupp. Jekk qed tuża l-hardware tiegħek stess, tista' tissettja kwalunkwe isem ta' istanza u tikkonfigura l-pinout manwalment.
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
34/89
Żid it-Tagħlim Awtomatiku ma' Proġett Ġdid jew Eżistenti
Komponenti Addizzjonali tas-Softwer u Settings tal-Bini tas-C++
Nota: Aqbeż għas-sezzjoni tal-Inklużjoni tal-Mudell għal apparati tas-Serje 2. Din is-sezzjoni hija applikabbli biss għal apparati SiWx917. 1. Kun żgur li l-komponenti li ġejjin huma installati fil-proġett tiegħek.
WiseConnect SDK > Apparat > Si91X > MCU > Servizz > Maniġer tal-Enerġija > Sleep Timer għall-Pjattaforma Si91x > Periferali > Intestaturi Komuni
2. Aġġorna s-settings tal-bini tas-C++ tiegħek kif ġej: Fid-definizzjonijiet tal-preproċessur tas-C, żid: SUPPORT_CPLUSPLUS. Fil-GNU ARM C++ Compiler > Miscellaneous settings, żid: -mfp16-format=ieee.
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
35/89
Żid it-Tagħlim Awtomatiku ma' Proġett Ġdid jew Eżistenti
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
36/89
Żid it-Tagħlim Awtomatiku ma' Proġett Ġdid jew Eżistenti
Metodu alternattiv: Tista' wkoll iżżid dawn is-settings direttament mal-.slcp tal-proġett tiegħek file:
Iftaħ il-.slcp file f'editur tat-test. Żid SUPPORT_CPLUSPLUS mat-taqsima tad-definizzjoni għad-definizzjonijiet tal-preproċessur C. Pereżempjuample:
iddefinixxi: – isem: SUPPORT_CPLUSPLUS valur: 1
Żid -mfp16-format=ieee mat-taqsima toolchain_settings għall-bnadar tal-kumpilatur C++, pereżempjuample:
toolchain_settings: – għażla: gcc_compiler_option valur: -mfp16-format=ieee
Ħlief il- file u irriġenera l-proġett tiegħek biex tapplika l-bidliet.
Inklużjoni tal-Mudell
Bil-komponent TensorFlow Lite Micro miżjud fil-Konfiguratur tal-Proġett, il-pass li jmiss huwa li tgħabbi l-mudell file fil-proġett. Biex tagħmel dan, oħloq direttorju tflite fid-direttorju tal-konfigurazzjoni tal-proġett, u kkopja l-mudell .tflite file fih. Il-konfiguratur tal-proġett jipprovdi għodda li awtomatikament tikkonverti .tflite files fis-sors u l-intestatura ta' sl_tflite_micro_model files. Id-dokumentazzjoni sħiħa għal din l-għodda hija disponibbli fuq Flatbuffer Converter Tool.
Għal apparati SiWx917, wara li tikkopja l-mudell .tflite file fil-proġett, intestatura file bl-isem sl_ml_model_ .h jiġi ġġenerat. Dan il-header jipprovdi aċċess għall-firxa C miksuba mill-.tflite kkonvertit file, kif ukoll APIs biex jiġi inizjalizzat u mħaddem il-mudell.
Inizjalizzazzjoni Awtomatika
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
37/89
Żid it-Tagħlim Awtomatiku ma' Proġett Ġdid jew Eżistenti
Il-qafas TensorFlow jiġi inizjalizzat awtomatikament bl-użu tal-qafas ta' inizjalizzazzjoni tas-sistema deskritt fil-Mudell ta' Programmazzjoni tal-SDK. Dan jinkludi l-allokazzjoni ta' arena tensorjali, l-instanzjazzjoni ta' interpretu u t-tagħbija tal-mudell.
Konfigurazzjoni
Nota: Il-konfigurazzjoni kollha għal SiWx917 tiġi ttrattata awtomatikament.
Jekk il-mudell ġie prodott bl-użu tas-Silicon Labs Machine Learning Toolkit (MLTK), diġà fih metadata li tindika d-daqs meħtieġ tat-Tensor Arena, iż-żona tal-memorja użata minn TensorFlow għall-ħażna waqt ir-runtime ta' input, output, u matriċi intermedji. Id-daqs meħtieġ tal-arena jiddependi fuq il-mudell użat. Jekk ma tkunx qed tuża l-MLTK, id-daqs tal-arena jeħtieġ li jiġi kkonfigurat. Dan jista' jsir b'żewġ modi:
[Awtomatiku] Issettja d-daqs tal-arena għal -1, u din tipprova tiddeduċi awtomatikament id-daqs mal-inizjalizzazzjoni. [Manwali] Ibda b'numru kbir matul l-iżvilupp, u naqqas l-allokazzjoni sakemm l-inizjalizzazzjoni tfalli bħala parti mill-ottimizzazzjoni tad-daqs.
Mexxi l-Mudell għal Apparati tas-Serje 2
Inkludi l-API TensorFlow Init ta' Silicon Labs
#inkludi “sl_tflite_micro_init.h”
Għall-imġiba awtomatika f'applikazzjoni bare metal, huwa rakkomandat li l-mudell jitħaddem waqt app_process_action() f'app.cpp biex jiġi żgurat li jseħħu inferenzi perjodiċi matul il-linja tal-avvenimenti standard. It-tħaddim tal-mudell jinvolvi tliet stages: Ipprovdi Input lill-Interpretu Id-dejta tas-sensur tiġi pproċessata minn qabel (jekk meħtieġ) u mbagħad tiġi pprovduta bħala input lill-interpretu.
TfLiteTensor* input = sl_tflite_micro_get_input_tensor(); // jaħżen 0.0 fit-tensur tad-dħul tal-mudell input->data.f[0] = 0.;
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
38/89
Żid it-Tagħlim Awtomatiku ma' Proġett Ġdid jew Eżistenti
Mexxi l-Inferenza
L-interpretu mbagħad jiġi invokat biex imexxi s-saffi kollha tal-mudell.
TfLiteStatus invoke_status = sl_tflite_micro_get_interpreter()->Invoke(); jekk (invoke_status != kTfLiteOk) { TF_LITE_REPORT_ERROR(sl_tflite_micro_get_error_reporter(),
"Parametri tat-tensur tad-dħul ħżiena fil-mudell"); return; }
Aqra l-Output għal apparati tas-Serje 2
It-tbassir tal-output jinqara mill-interpretu.
TfLiteTensor* output = sl_tflite_micro_get_output_tensor(); // Ikseb il-valur tal-output mit-tensor float value = output->data.f[0];
F'dan il-punt, għandu jitwettaq imġiba dipendenti fuq l-applikazzjoni bbażata fuq it-tbassir tal-output. L-applikazzjoni se tħaddem inferenza fuq kull iterazzjoni ta' app_process_action().
Silta ta' Kodiċi Sħiħ (Serje 2)
Wara li segwi l-passi ta' hawn fuq, l-app.cpp li tirriżulta issa tidher kif ġej:
#inkludi “sl_tflite_micro_init.h”
/********************************************************************************//** * Inizjalizza l-applikazzjoni. ******************************************************************************/
vojt app_init(vojt) {
// L-inizjazzjoni sseħħ awtomatikament }
/********************************************************************************//** * Funzjoni ta' timmarka l-app. ******************************************************************************/
azzjoni_proċess_tal-app vojta (vojta) {
TfLiteTensor* input = sl_tflite_micro_get_input_tensor(); // jaħżen 0.0 fit-tensur tad-dħul tal-mudell input->data.f[0] = 0.;
TfLiteStatus invoke_status = sl_tflite_micro_get_interpreter()->Invoke(); jekk (invoke_status != kTfLiteOk) { TF_LITE_REPORT_ERROR(sl_tflite_micro_get_error_reporter(),
"Parametri tat-tensur tad-dħul ħżiena fil-mudell"); return; }
TfLiteTensor* output = sl_tflite_micro_get_output_tensor(); // Ikseb il-valur tal-output mit-tensor float value = output->data.f[0]; }
Mexxi l-Mudell għal Apparati SiWx917
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
39/89
Żid it-Tagħlim Awtomatiku ma' Proġett Ġdid jew Eżistenti
Għal apparati SiWx917, l-APIs huma differenti minn Series 2. Uża l-mudell iġġenerat tal-APIs C++ biex tinizjalizza u tħaddem il-mudell tiegħek. Hawn taħt hawn gwida ġenerali għall-użu ta' dawn l-APIs:
1. Inkludi l-Intestaturi Meħtieġa
//Jipprovdi l-funzjonijiet _init() u _run() għal dan il-mudell #include “sl_ml_model_ .h” // …intestaturi oħra kif meħtieġ…
2. Inizjalizzazzjoni tas-Sistema
sl_system_init();
3. Inizjalizzazzjoni tal-Mudell
//Jgħabbi u Jiinizjalizza l-mudell bl-isem //Jinizjalizza l-parametri tiegħu //Jinizjalizza l-interpretu tiegħu //Jinizjalizza r-rapporter tal-iżbalji tiegħu //Jalloka l-memorja għat-tensuri tal-mudell
sl_status_t status = slx_ml_ _model_init(); jekk (status != SL_STATUS_OK) {
printf("Ma rnexxiex tiġi inizjalizzata l-mudell n"); // Immaniġġja l-iżball }
4. Aċċess u Ipprepara t-Tensors tal-Input
għal (int mhux iffirmat i = 0; i < _model.n_inputs(); ++i) { auto& input_tensor = * _model.input(i); // Imla input_tensor.data bid-dejta tad-dħul tiegħek
}
5. Mexxi l-Inferenza
/// Tesegwixxi l-mudell bl-isem billi tinvoka l-interpretu tagħha għal TFLite Micro u tirritorna l-istatus tal-eżekuzzjoni. /// L-output jinħażen fit-tensur tal-output tal-mudell innifsu. status = slx_ml_model_ _run(); jekk (status != SL_STATUS_OK) {
printf("Żball waqt li kien qed jaħdem inferencen"); // Immaniġġja l-iżball }
6. Tensuri tal-Output tal-Aċċess
għal (int mhux iffirmat i = 0; i < _model.n_outputs(); ++i) { auto& output_tensor = * _model.output(i); // Aqra r-riżultati minn output_tensor.data
}
Silta ta' Kodiċi Sħiħ (SiWx917)
Hawn taħt hawn silta ta' kodiċi ġenerika għat-tħaddim ta' mudell fuq apparati SiWx917. Ibdel bl-isem attwali tal-mudell tiegħek.
app.h
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
40/89
Żid it-Tagħlim Awtomatiku ma' Proġett Ġdid jew Eżistenti
#ifndef APP_H #iddefinixxi APP_H
#ifdef __cplusplus estern “C” { #endif
void app_init(void); void app_process_action(void);
#ifdef __cplusplus } #endif
#endif // APP_H
app.cc
#inkludi “app.h” #inkludi “model_runner.h”
sl_status_t _status_tal-mudell = SL_STATUS_OK;
// Loġika ta' inizjalizzazzjoni void app_init(void) {
_status_tal-mudell = model_runner_init(); jekk ( _status_tal-mudell != SL_STATUS_OK) {
// Ipprintja messaġġ ta' żball utli jew immaniġġja r-ritorn tal-iżball; } }
void app_process_action(void) { jekk ( _model_status != SL_STATUS_OK) { // Ipprintja messaġġ ta' żball jew indika r-ritorn ta' żball; } model_runner_loop();
}
model_runner.cc
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
41/89
Żid it-Tagħlim Awtomatiku ma' Proġett Ġdid jew Eżistenti
#inkludi “sl_ml_model_ .h”
sl_status_t model_runner_init(void) { // Loġika periferali u oħra ta' inizjalizzazzjoni
_status_tal-mudell = slx_ml_ _mudell_init();
jekk ( _model_status != SL_STATUS_OK) { // Deinit periferali jew loġika ta' tindif tirritorna SL_STATUS_FAIL;
} ritorn _status_tal-mudell; }
sl_status_t model_runner_loop(void) { // Loġika tal-qbid tad-dejta u tal-pre-ipproċessar
_status_tal-mudell = slx_ml_ _mudell_ġirja();
jekk ( _model_status != SL_STATUS_OK) { // Deinit periferali jew loġika ta' tindif tirritorna SL_STATUS_FAIL;
}
// Loġika ta' wara l-ipproċessar
ritorn _status_tal-mudell; }
Addendum: Interazzjoni mal-Kodiċi C
Jekk il-proġett tiegħek huwa miktub f'C minflok C++, poġġi l-kodiċi li jinteraġixxi ma' TFLM f'fajl separat. file li tesporta API C permezz ta' header tal-interfaċċja. Għal dan l-eżempjuample, a fileL-isem app_ml.cpp huwa preżunt li jimplimenta l-funzjoni ml_process_action() bl-istess kontenut bħal fl-eż.ample hawn fuq.
app_ml.h
#ifdef __cplusplus estern “C” { #endif
vojt ml_proċess_azzjoni(vojt);
#ifdef __cplusplus } #endif
app_ml.cpp
#inkludi “app_ml.h” #inkludi “sl_tflite_micro_init.h”
estern “C” void ml_process_action(void) {
// … }
app.c
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
42/89
Żid it-Tagħlim Awtomatiku ma' Proġett Ġdid jew Eżistenti
#inkludi “app_ml.h” // … void app_process_action(void) {
azzjoni_ml_proċess(); }
Addendum: Konverżjoni tal-App tas-Serje 2 għal SiWx917 (u viċi versa)
Jekk teħtieġ li tittrasferixxi applikazzjoni minn Series 2 għal SiWx917, l-ewwel neħħi l-komponent TensorFlow Lite Micro mill-proġett tiegħek. Imbagħad, segwi dawn il-passi biex iżżid il-komponenti tas-softwer meħtieġa u s-settings tal-bini C++. Għal apparati SiWx917, l-APIs u l-fluss tax-xogħol huma differenti minn Series 2. Uża l-mudell iġġenerat tal-APIs C++ kif deskritt fit-taqsima Mexxi l-Mudell għal Apparati SiWx917 hawn fuq. Irreferi għas-siltiet tal-kodiċi pprovduti u l-istruzzjonijiet pass pass f'din il-paġna għal dettalji dwar l-inizjalizzazzjoni, it-tħaddim tal-inferenza, u l-aċċess għat-tensuri input/output. Għal eżempju sħiħ...ampara t-taqsima tas-Snippet tal-Kodiċi Sħiħ (SiWx917). Wara li taġġorna l-proġett tiegħek, irriġenerah biex tiżgura li d-dipendenzi kollha huma kkonfigurati b'mod korrett.
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
43/89
Aġġorna jew Ibdel .tflite File
Aġġorna jew Ibdel .tflite File
Aġġornament jew Sostituzzjoni tal-.tflite File fi Proġett
Din il-gwida tiddeskrivi kif tibdel il-mudell fi proġett eżistenti. Tassumi li l-proġett juża l-Għodda tal-Konvertitur Flatbuffer.
Ibdel il-Mudell
Biex tissostitwixxi l-mudell fi proġett eżistenti, drag-and-drop il-mudell il-ġdid file fid-direttorju config/tflite/ tal-proġett. Jekk il-mudell il-ġdid għandu l-istess file isem bħall-mudell preċedenti, aċċetta l-pront biex tissostitwixxi l- fileJekk il-mudell il-ġdid għandu isem differenti, ħassar jew semmi mill-ġdid il-fajl .tflite l-antik. file b'tali mod li ma jibqax ikollu l-estensjoni .tflite. L-Għodda tal-Konvertitur Flatbuffer tiġi esegwita awtomatikament meta l-osservatur tad-direttorju jinnota li .tflite differenti file hija preżenti.
Nota: Jekk għandek diversi .tflite files fid-direttorju config/tflite/, l-għodda tal-konvertitur tagħżel l-ewwel file f'ordni alfabetika. Għalhekk ir-rakkomandazzjoni li jiġu msemmija mill-ġdid jew imħassra kwalunkwe mudell antik biex jiġi żgurat li l-għodda tuża l-kodiċi korrett file.
Spezzjona l-Mudell
Tista' tieħu passi biex tiżgura li r-riġenerazzjoni awtomatika tal-arrays u l-headers C mill-.tflite file eżegwit kif mistenni. Kwalunkwe wieħed mill-passi t'hawn taħt jista' jittieħed jekk qatt m'intix ċert dwar liema mudell huwa parti mill-binarju tal-applikazzjoni tiegħek.
Iċċekkja d-Daqs tal-Mudell
Il iġġenerat file autogen/sl_tflite_micro_model.c jiddefinixxi varjabbli tad-daqs sl_tflite_model_len. Dan in-numru jista' jitqabbel ma' file daqs tat-tflite file f'bytes, pereżempjuampbilli tikklikkja bil-lemin fuq il-.tflite file u nħarsu lejn il-valur ta' Properties > Resource > Size.
Iċċekkja l-Operaturi Użati mill-Mudell
Il iġġenerat file autogen/sl_tflite_micro_opcode_resolver.h fih diversi sejħiet lil tflite::MicroMutableOpResolver::AddXXX, fejn XXX huwa l-isem tal-operaturi użati mill-mudell. Dan jista' jitqabbel mal-operaturi li taf li l-mudell għandu juża.
Iċċekkja l-Parametri tal-Mudell
Jekk il-.tflite file ġie ġġenerat bl-użu tas-Silicon Labs Machine Learning Toolkit, fih metadata li hija ġġenerata f'autogen/sl_tflite_micro_model_parameters.h. Dawn il-parametri jistgħu jitqabblu mal-parametri mistennija.
Ġenerazzjoni tal-Forza ta' C files
Jekk jiġri xi ħaġa li ġġiegħel il-.c u l-.h iġġenerati ma jibqgħux sinkronizzati mat-.tflite file, il-proġett jista' jiġi riġenerat b'mod forzat billi tagħfas il-buttuna Ġenerazzjoni tal-Forza fuq il-ħġieġa tad-Dettalji tal-Proġett tal-Konfiguratur tal-Proġett.
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
44/89
Żvilupp ta' Mudell
Żvilupp ta' Mudell
Żvilupp ta' Mudell ta' Tagħlim Awtomatiku
Żvilupp ta' Mudell Manwalment bl-użu ta' TensorFlow u Keras
Meta tiżviluppa u tħarreġ netwerks newrali għall-użu f'sistemi integrati, huwa importanti li wieħed jinnota l-limitazzjonijiet fuq it-TFLM li japplikaw għall-arkitettura u t-taħriġ tal-mudell. Il-pjattaformi integrati għandhom ukoll restrizzjonijiet sinifikanti fuq il-prestazzjoni li jridu jiġu kkunsidrati meta jiġi ddisinjat u evalwat mudell. Il-links tad-dokumentazzjoni tat-TLFM integrat jiddeskrivu dawn il-limitazzjonijiet u l-kunsiderazzjonijiet fid-dettall.
Barra minn hekk, il-Komponenti tas-Softwer TensorFlow f'Simplicity Studio jeħtieġu rappreżentazzjoni kwantizzata *.tflite tal-mudell imħarreġ. Bħala riżultat, TensorFlow u Keras huma l-pjattaformi rakkomandati għall-iżvilupp u t-taħriġ tal-mudelli għaliex iż-żewġ pjattaformi huma appoġġjati mit-TensorFlow Lite Converter li jiġġenera rappreżentazzjonijiet tal-mudell .tflite.
Kemm TensorFlow kif ukoll Keras jipprovdu gwidi dwar l-iżvilupp u t-taħriġ tal-mudelli:
Loops ta' Taħriġ Bażiku ta' TensorFlow
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
45/89
Żvilupp ta' Mudell
Taħriġ u Evalwazzjoni ta' Keras Wara li mudell ikun ġie maħluq u mħarreġ f'TensorFlow jew Keras, jeħtieġ li jiġi kkonvertit u serjalizzat f'*.tflite fileMatul il-konverżjoni tal-mudell, huwa importanti li l-użu tal-memorja tal-mudell jiġi ottimizzat billi jiġi kwantizzat. Huwa rakkomandat ħafna li tintuża kwantizzazzjoni sħiħa fuq apparati tas-Silicon Labs.
Kwantizzazzjoni tal-Konvertitur TensorFlow Lite Fuqview Ex komplutaampDisinn li juri t-taħriġ, il-konverżjoni, u l-kwantizzazzjoni ta' netwerk newrali sempliċi kompatibbli mat-TFLM huwa disponibbli minn TensorFlow: TensorFlow Hello World Training ExampMudell Imħarreġ ta' Hello World (Niżżel .zip file li fih il-mudell)
Żvilupp ta' Mudell bl-użu ta' Silicon Labs AI/ML Partners
Ara t-taqsima tal-Imsieħba tal-AI/ML fuq il-paġna tas-Silicon Labs Machine Learning in IoT għal aktar informazzjoni dwar l-imsieħba tal-AI/ML tas-Silicon Labs. Dawn l-imsieħba jistgħu jgħinuk tiżviluppa mudell li huwa kompatibbli mat-tagħmir tas-Silicon Labs.
Żvilupp ta' Mudell bl-użu tal-MLTK
Nota: L-MLTK huwa sperimentali u l-appoġġ uffiċjali mhux disponibbli. Huwa mistenni li l-MLTK jintuża minn Espert tal-ML b'għarfien profond ta' TensorFlow u Python, jew minn żviluppatur li lest li jitgħallem.
Is-Silicon Labs Machine Learning Toolkit (MLTK) huwa pakkett Python li jimplimenta saff 'il fuq minn TensorFlow biex jgħin lill-iżviluppatur ta' TensorFlow jibni mudelli li jistgħu jiġu skjerati b'suċċess fuq ċipep ta' Silicon Labs. Dawn l-iskripts huma implimentazzjoni ta' referenza għall-każ ta' użu tal-awdjo, li jinkludi l-użu tal-Audio Feature Generator kemm fuq in-naħa tat-taħriġ kif ukoll fuq in-naħa tal-inferenza. Din hija verżjoni modifikata tal-front end tal-awdjo "microfrontend" ta' TensorFlow. L-MLTK huwa offrut bħala pakkett ta' referenza Python self-service, self-support, dokumentat bis-sħiħ, ippubblikat permezz ta' GitHub. Qed inwasslu dan bħala pakkett Sperimentali, li jfisser li huwa disponibbli.
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
46/89
Konfigurazzjoni tal-Estensjoni AI/ML
Konfigurazzjoni tal-Estensjoni AI/ML
Installazzjoni tal-Estensjoni AI/ML għal Silicon Labs Simplicity Studio
Din il-gwida tagħti dettalji dwar il-proċess ta' installazzjoni għall-estensjoni tal-AI/ML fi ħdan Silicon Labs Simplicity Studio. Din l-estensjoni tagħti s-setgħa lill-iżviluppaturi biex jintegraw il-kapaċitajiet tat-tagħlim awtomatiku fil-proġetti tagħhom ibbażati fuq Silicon Labs.
Prerekwiżiti
Qabel ma tipproċedi bl-installazzjoni, kun żgur li għandek dan li ġej:
Silicon Labs Simplicity Studio: L-aħħar verżjoni ta' Simplicity Studio hija essenzjali. Niżżilha mis-sit uffiċjali ta' Silicon Labs. websit. Ħardwer Appoġġjat: Ivverifika li l-ħardwer fil-mira tas-Silicon Labs tiegħek huwa kompatibbli mal-estensjoni AI/ML. Ikkonsulta n-noti tar-rilaxx jew id-dokumentazzjoni tal-estensjoni għal lista ta' apparati appoġġjati. Ambjent Python (Potenzjalment): Xi funzjonalitajiet AI/ML jistgħu jiddependu fuq ambjent Python. Huwa rakkomandat li jkollok Python 3.7 jew ogħla installat. Ambjent virtwali huwa rakkomandat ħafna biex timmaniġġja d-dipendenzi b'mod effettiv. Git (Potenzjalment): Git jista' jkun meħtieġ għal ċerti metodi ta' installazzjoni jew għall-aċċess ta' riżorsi speċifiċi. Kun żgur li Git huwa installat fuq is-sistema tiegħek.
Metodi ta' Installazzjoni
L-estensjoni AI/ML tista' tiġi installata permezz tal-metodi li ġejjin:
1. Simplicity Studio Installation Manager (Rakkomandat)
Dan huwa l-aktar approċċ sempliċi u rakkomandat.
1. Iftaħ Simplicity Studio. 2. Innaviga għal Għajnuna > Aġġorna s-Softwer…. 3. Ikklikkja Installation Manager > SDKs …. 4. Agħżel l-estensjoni Silicon Labs AI/ML mil-lista ta' estensjonijiet disponibbli taħt Simplicity SDK. 5. Segwi l-istruzzjonijiet fuq l-iskrin biex tlesti l-installazzjoni.
2. Installazzjoni Manwali (Jekk Applikabbli)
Jekk jiġi pprovdut metodu ta' installazzjoni manwali flimkien mal-metodu tal-Extension Manager, segwi l-istruzzjonijiet hawn taħt. Innota li dan huwa inqas komuni.
1. Niżżel il-verżjoni mixtieqa tal-pakkett tal-estensjoni AI/ML minn https://github.com/SiliconLabsSoftware/aiml-extension/releases. Link għall-verżjoni tar-rilaxx korrispondenti huwa pprovdut ukoll fin-noti tar-rilaxx tal-estensjoni.
2. Oħroġ il-pakkett imniżżel għal fowlder “simplicity_sdkextension”. 3. Ikkonsulta d-dokumentazzjoni tal-estensjoni għal passi speċifiċi ta' installazzjoni manwali. Dawn il-passi jistgħu jinvolvu l-ikkupjar files għal speċifiku
postijiet fid-direttorju tal-installazzjoni ta' Simplicity Studio jew waqt li jkunu qed iħaddmu skripts tal-installazzjoni.
Passi ta' Wara l-Installazzjoni
Wara installazzjoni b'suċċess:
1. Erġa' ibda Simplicity Studio: Erġa' ibda Simplicity Studio biex tiżgura li l-bidliet jidħlu fis-seħħ. 2. Ivverifika l-Installazzjoni: Iċċekkja l-preferenzi ta' Simplicity Studio jew il-lista tas-softwer installat biex tikkonferma li l-estensjoni tal-AI/ML hija elenkata u
installat. 3. Esplora d-Dokumentazzjoni u l-Eżekuzzjoniamples: L-estensjoni tal-AI/ML għandha tinkludi dokumentazzjoni u eżempjiampproġetti. Dawn ir-riżorsi
huma kruċjali biex tibda u tifhem kif tuża l-karatteristiċi u l-APIs tal-estensjoni.
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
47/89
Konfigurazzjoni tal-Estensjoni AI/ML
Issolvi l-problemi
Jekk tiltaqa' ma' xi problemi waqt l-installazzjoni: 1. Iċċekkja l-logs tas-Simplicity Studio: Eżamina l-logs tas-Simplicity Studio għal xi messaġġi ta' żball. Dawn il-logs jistgħu jipprovdu indikazzjonijiet siewja għal
issolvi l-problemi. 2. Erġa' luraview Dokumentazzjoni: Irreferi għad-dokumentazzjoni u n-noti tar-rilaxx tal-estensjoni tal-AI/ML għal pariri dwar is-soluzzjoni tal-problemi u kwistjonijiet magħrufa. 3. Forum tal-Komunità ta' Silicon Labs: Il-forum tal-komunità ta' Silicon Labs huwa riżors eċċellenti biex issib soluzzjonijiet għal problemi komuni.
problemi jew titlob għajnuna minn utenti oħra u esperti ta' Silicon Labs.
Aġġornament tal-Estensjoni
Biex taġġorna l-estensjoni AI/ML, segwi l-istess passi ta' installazzjoni kif deskritt hawn fuq. Simplicity Studio tipikament se jiskopri l-verżjoni l-ġdida u jiggwidak fil-proċess ta' aġġornament.
Disinstallazzjoni
Biex tneħħi l-estensjoni AI/ML, uża s-Simplicity Studio Extension Manager, jew ikkonsulta d-dokumentazzjoni tal-estensjoni għal struzzjonijiet speċifiċi dwar id-diżinstallazzjoni.
Nota Importanti: Din il-gwida tipprovdi ħarsa ġenerali lejnview tal-proċess ta' installazzjoni tal-estensjoni AI/ML bl-aktar informazzjoni aġġornata. Dejjem irreferi għan-noti tar-rilaxx għal struzzjonijiet speċifiċi għall-verżjoni li jistgħu jkunu meħtieġa. Kwalunkwe istruzzjoni addizzjonali u assoċjati URLS flimkien ma' struzzjonijiet manwali se jiġu pprovduti man-noti tar-rilaxx.
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
48/89
Għodda tal-Konvertitur Flatbuffer
Għodda tal-Konvertitur Flatbuffer
Għodda tal-Konvertitur Flatbuffer
L-Għodda tal-Konvertitur Flatbuffer tgħin biex tikkonverti .tflite file f'array C li jista' jiġi kkompilat f'binarju għal sistema integrata. Dan l-array jista' jintuża mat-TensorFlow Lite for Microcontrollers API, li tieħu pointer void għal buffer li fih il-mudell bħala argument għall-funzjoni init tagħha tflite::GetModel(). Minbarra li tikkonverti l-flatbuffer f'array C, l-għodda tappoġġja l-ħruġ ta' parametri tal-mudell integrati bħala metadata fil-.tflite file bħala makros tal-preproċessur C.
Input
L-għodda tieħu direttorju li fih fajl .tflite wieħed jew aktar files bħala input. Jekk id-direttorju jikkonsisti minn diversi files, l-ewwel biss file f'ordni alfabetika tiġi kkonvertita.
Ħjiel: Jekk għandek diversi files fid-direttorju, iżda dak li trid tikkonverti mhuwiex l-ewwel wieħed file f'ordni alfabetika, tista' tibdel isem l-ieħor files biex iżżid estensjoni .bak jew tibdel l-isem tal-mira file kif xieraq.
Output
L-għodda tikteb l-output tagħha f'diversi files f'direttorju wieħed tal-output.
Mudell Array
L-għodda dejjem toħroġ par ta' files sl_tflite_micro_model.c / .h , li jiddikjara l-varjabbli kif ġej. const uint8_t sl_tflite_model_array[] li fih il-kontenut sħiħ tal-.tflite file const uint32_t sl_tflite_model_len li fiha t-tul tal-firxa tal-mudell
Riżolutur tal-Opcode
Intestatura file sl_tflite_micro_opcode_resolver.h jiġi emess ukoll. Dan file tiddikjara makro ta' preproċessur C SL_TFLITE_MICRO_OPCODE_RESOLVER(opcode_resolver, error_reporter) li joħloq oġġett tflite::MicroMutableOpResolver u jirreġistra awtomatikament is-sett ta' operaturi meħtieġa biex jiġi analizzat il-mudell. Din il-makro tista' tintuża bħala parti minn sekwenza ta' inizjalizzazzjoni biex tiġi inizjalizzata awtomatikament ir-riżolutur ottimali tal-opcode.
Parametri tal-Mudell
Jekk il-.tflite file fih parametri tal-mudell fit-taqsima tal-metadata tiegħu, it-tielet intestatura file sl_tflite_micro_model_parameters.h jiġi emess. Għal kull par ta' valuri-ċwievet tal-parametru tal-mudell, makro tal-preproċessur C SL_TFLITE_MODEL_ jinħoloq bil-valur rilevanti. Ara d-dokumentazzjoni tal-MLTK biex titgħallem aktar dwar l-inkorporazzjoni tal-parametri tal-mudell fil-.tflite file.
Integrazzjoni tal-Konfigurazzjoni tal-Proġett SLC
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
49/89
Għodda tal-Konvertitur Flatbuffer
L-Għodda tal-Konvertitur Flatbuffer tintegra mal-għodod tal-konfigurazzjoni tal-proġett SLC f'Simplicity Studio u fuq il-linja tal-kmand bl-użu ta' SLC-CLI. Meta jintużaw dawn l-għodod, il-Konvertitur Flatbuffer jitħaddem awtomatikament bid-direttorju config/tflite/ tal-proġett bħala input, u d-direttorju autogen/ bħala output. Fi kliem ieħor, kwalunkwe file bl-estensjoni .tflite fid-direttorju config/tflite/ fil-proġett se jiġi konvertit awtomatikament meta jiġi ġġenerat il-proġett. Jekk tuża Simplicity Studio, osservatur tad-direttorju jiżgura li l-proġett jiġi ġġenerat awtomatikament jekk .tflite file jiżdied jew jitneħħa. Dan ifisser li huwa biżżejjed li tkaxkar u twaqqa' .tflite file fil-proġett, u jiġi kkonvertit awtomatikament f'kodiċi C.
Użu manwali
Jekk il-konverżjoni hija mixtieqa barra minn ċiklu sħiħ ta' ġenerazzjoni ta' proġett SLC, il-konvertitur flatbuffer jista' jiġi invokat manwalment. Dan ġeneralment mhux neċessarju, iżda huwa għażla għal utenti avvanzati. Dan jista' jsir biss bl-użu tal-SLC-CLI, l-utenti ta' Simplicity Studio huma rakkomandati li jirriġeneraw il-proġett sħiħ.
Bħala Ġeneratur tal-Proġett SLC
SLC-CLI jappoġġja t-tħaddim ta' għodda waħda ta' ġenerazzjoni ta' proġett billi jgħaddi l--tools lill-kmand slc generate. Il-pass Flatbuffer Converter tal-proċess ta' ġenerazzjoni ta' proġett jista' jitħaddem waħdu billi jitħaddem il-kmand li ġej:
slc jiġġenera -p -għodod tflite
Bħala Kmand SLC-CLI Awtonomu
Il-konvertitur flatbuffer huwa disponibbli wkoll bħala kmand waħdu f'SLC-CLI għall-użu barra mill-kuntest ta' proġett. Eżegwixxi l-kmand li ġej billi tuża mogħdijiet assoluti kemm għad-direttorji tal-input kif ukoll tal-output.
slc tflite generate -contentFolder [/mogħdija/għal/konfigurazzjoni/tflite] -generationOutput [/mogħdija/għal/awtoġenu]
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
50/89
Konfigurazzjoni I2S għal SiWx917
Konfigurazzjoni I2S għal SiWx917
Konfigurazzjoni tal-Pin I2S għal Applikazzjonijiet tal-Awdjo ML fuq il-pjattaforma SiWx917
Il-konfigurazzjoni awtomatika tal-pinnijiet I2S fuq SiWx917 ma tipprovdix l-output mistenni għar-riżultati tal-klassifikazzjoni fuq il-hardware għall-applikazzjonijiet awdjo AI/ML kollha. Trid tikkonfigura manwalment il-pinnijiet I2S billi tuża l-.slcp kif deskritt hawn taħt. Biex tikkonfigura l-pinnijiet I2S għall-bord tiegħek, segwi dawn il-passi billi tuża Simplicity Studio:
1. Ippermetti l-Periferali I2S permezz tal-Komponenti tas-Softwer
Ladarba l-.pintool file ġie ġġenerat fil-fowlder tal-proġett tiegħek, iftaħ il-.slcp file f'Simplicity Studio. Wara dan, mur fit-tab Komponenti tas-Softwer. Fittex għal u attiva l-periferali I2S (eż., I2S0). Innaviga għal WiSeConnect 3 SDK v3.5.0 > Device > Si91x > MCU > Peripheral > I2S > i2s0 > Configure.
2. Ikkonfigura l-Pinnijiet tal-I2S
Fil-konfigurazzjoni tal-Komponenti tas-Softwer, ikklikkja l-buttuna Ikkonfigura ħdejn il-periferali I2S attivat.
Assenja s-sinjali I2S meħtieġa (DIN0, SCLK, u WSCLK) lill-pins GPIO xierqa kif muri fl-immaġni hawn taħt. L-għodda tal-konfigurazzjoni turi l-pins disponibbli. Kun żgur li tagħżel biss dawk indikati fl-immaġni.
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
51/89
Konfigurazzjoni I2S għal SiWx917
3. Issejvja u Ġenera l-Kodiċi
L-għodda tiġġenera awtomatikament il-kodiċi ta' konfigurazzjoni tal-pin meħtieġ għall-proġett tiegħek.
4. Ibni mill-ġdid il-Proġett
Ibni l-proġett tiegħek biex tiżgura li l-konfigurazzjoni l-ġdida tal-pin hija inkluża. Għal aktar dettalji, irreferi għad-dokumentazzjoni tal-Komponenti tas-Softwer tas-Simplicity Studio.
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
52/89
Referenza tal-API tat-Tagħlim Awtomatiku
Referenza tal-API tat-Tagħlim Awtomatiku
Referenza tal-API tat-Tagħlim Awtomatiku
Lista ta' moduli TensorFlow Lite Micro Init TensorFlow Lite Micro Debug Audio Feature Generator
Funzjonijiet Speċifiċi tal-Mudell
Varjabbli u Kostanti Speċifiċi għall-Mudell
Deskrizzjoni
Inizjalizza t-Tensorflow Lite Micro Runtime. Utilitajiet SL addizzjonali għall-login f'TensorFlow Lite Micro.
Jiġbed il-karatteristiċi mel-filterbank minn sinjal awdjo biex jużahom ma' applikazzjonijiet ta' klassifikazzjoni awdjo tat-tagħlim awtomatiku. Funzjonijiet iġġenerati bl-użu tal-isem tal-mudell .tflite file(Bħalissa jista' jintuża biss mal-pjattaforma SiWx917) Varjabbli u kostanti speċifiċi għall-mudell iġġenerati bl-użu tal-isem tal-mudell .tflite file(Bħalissa, jista' jintuża biss mal-pjattaforma SiWx917)
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
53/89
Sewwieq tal-Mikrofonu I2S għat-Tagħlim Awtomatiku
Sewwieq tal-Mikrofonu I2S għat-Tagħlim Awtomatiku
Sewwieq tal-Mikrofonu I2S għat-Tagħlim Awtomatiku
API tas-sewwieq tal-mikrofonu għall-interfaċċja I2S fuq SI91x.
Tipi ta' Defijiet
typedef vojt(*
sl_mic_buffer_ready_callback_t)(const void *buffer, uint32_t n_frames)
Funzjoni ta' callback li tindika li l-sampIl-buffer huwa lest.
Funzjonijiet
sl_status_t sl_status_t sl_status_t sl_status_t
sl_ml_mic_init(uint32_tsample_rate, kanali uint8_t)
Inizjalizza l-mikrofonu.
sl_ml_mic_deinit(vojt)
Iddiżattiva l-mikrofonu.
sl_ml_mic_start_streaming(void *buffer, uint32_t n_frames, sl_mic_buffer_ready_callback_t sejħa lura)
Aqra samples mill-mikrofonu għal ġoampil-bafer kontinwament.
sl_ml_mic_stop(vojt)
Waqqaf il-mikrofonu.
Dokumentazzjoni tat-Typedef
sl_mic_buffer_ready_callback_t
typedef void(* sl_mic_buffer_ready_callback_t) (const void *buffer, uint32_t n_frames) )(const void *buffer, uint32_t n_frames)
Funzjoni ta' callback li tindika li l-sampIl-bafer lest. Parametri
Tip
Direzzjoni [ġewwa] [ġewwa]
Isem tal-Argument buffer n_frames
Deskrizzjoni Pointer għall-sampbuffer. Numru ta' frejms tal-awdjo fis-sampil-bafer.
Ritorn Xejn.
Dokumentazzjoni tal-Funzjoni
sl_ml_mic_init
sl_status_t sl_ml_mic_init (uint32_t sample_rate, kanali uint8_t)
Inizjalizza l-mikrofonu.
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
54/89
Sewwieq tal-Mikrofonu I2S għat-Tagħlim Awtomatiku
Parametri
Ittajpja uint32_t uint8_t
Direzzjoni [ġewwa] [ġewwa]
Ismijiet tal-Argumentiampkanali le_rate
Ritorn Ritorn SL_STATUS_OK jekk jirnexxi, mhux żero inkella
Deskrizzjoni L-s mixtieqaamprata f'Hz Numru ta' kanali awdjo (1 jew 2)
sl_ml_mic_deinit
sl_status_t sl_ml_mic_deinit (vojt)
Iddiżattiva l-mikrofonu. Parametri
Ittajpja vojt
Direzzjoni N/A
Isem tal-Argument
Deskrizzjoni
sl_ml_mic_start_streaming
sl_status_t sl_ml_mic_start_streaming (void * buffer, uint32_t n_frames, sl_mic_buffer_ready_callback_t sejħa lura)
Aqra samples mill-mikrofonu għal ġoampil-bafer kontinwament. Parametri
Tip
Direzzjoni
Isem tal-Argument
Deskrizzjoni
vojt *
[fi]Puntatur tal-buffer għall-sampbuffer biex taħżen id-dejta. Id-dejta tal-kanal ta' 16-il bit hija
maħżuna konsekuttivament, billi tibda b'ch0. Dan il-bafer għandu jkun kbir biżżejjed
li żżomm id-doppju tal-n_frames minħabba l-operazzjoni tal-ping-pong.
uint32_t
[fi]n_frames In-numru ta' frames tal-awdjo li għandhom jiġu riċevuti qabel ma tiġi msejħa s-sejħa lura.
Valur massimu limitat minn DMADRV_MAX_XFER_COUNT.
sl_mic_buffer_ready_callback_t [fi]
callback Callback jissejjaħ meta jkun hemm n_frames fl-sampIl-buffer huwa lest.
Din il-funzjoni tibda l-mikrofonuampling u jieqaf biss meta ssejjaħ sl_ml_mic_stop jew sl_ml_mic_deinit. Il-buffer jintuża b'mod "ping-pong" li jfisser li nofs il-buffer jintuża għal sampling waqt li n-nofs l-ieħor ikun qed jiġi pproċessat.
sl_ml_mic_stop
sl_status_t sl_ml_mic_stop (vojt)
Waqqaf il-mikrofonu. Parametri
Ittajpja vojt
Direzzjoni N/A
Isem tal-Argument
Deskrizzjoni
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
55/89
Sewwieq tal-Mikrofonu I2S għat-Tagħlim Awtomatiku
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
56/89
Funzjonijiet Speċifiċi tal-Mudell
Funzjonijiet Speċifiċi tal-Mudell
Funzjonijiet Speċifiċi tal-Mudell
Funzjonijiet iġġenerati bl-użu tal-isem tal-mudell .tflite fileDawn l-APIs bħalissa jistgħu jintużaw biss mal-pjattaforma SiWx917.
sl_ml_ _inizjar
sl_status_t sl_ml_ _model_init(vojt)
Oħloq ir-rapporter tal-iżbalji u r-riżoluzzjoni tal-opcode u inizjalizza l-varjabbli għall-mudell mogħti. huwa derivat mill- file isem tal-.tflite tiegħek fileRitorni
Status tal-inizjalizzazzjoni tal-mudell. SL_STATUS_OK jekk b'suċċess, inkella, SL_STATUS_FAIL.
sl_ml_ _ġiri
sl_status_t sl_ml_ _mudell_run(vojt)
Eżegwixxi l-mudell darba għall-inferenza. L-output jiġi aġġornat internament fil-mudell. Ritorn
Status tal-eżekuzzjoni u l-inferenza tal-mudell. SL_STATUS_OK jekk b'suċċess, inkella, SL_STATUS_FAIL.
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
57/89
Varjabbli u Kostanti Speċifiċi għall-Mudell
Varjabbli u Kostanti Speċifiċi għall-Mudell
Varjabbli u Kostanti Speċifiċi għall-Mudell
Varjabbli u kostanti speċifiċi għall-mudell iġġenerati bl-użu tal-isem tal-mudell .tflite fileDawn l-APIs bħalissa jistgħu jintużaw biss mal-pjattaforma SiWx917.
_mudell
TfliteMicroModel statiku _mudell
Oġġett tal-mudell b'għadd kbir ta' metodi biex jinteraġixxi mal-mudell.
_status_tal-mudell
status_sl_static_t _status_tal-mudell
Isegwi l-istatus ta' _model meta jiġi inizjalizzat u eżegwit.
_mudell_buffer ċatt
uint8_t* _mudell_buffer ċatt
Pointer għall-flatbuffer mhux ipproċessat tal-mudell imsemmi minn _mudell
_tul_tal-_mudell_flatbuffer
kostanti int _tul_tal-_mudell_flatbuffer
Tul tal-flatbuffer mhux ipproċessat imsemmi minn _mudell_buffer ċatt
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
58/89
Ġeneratur tal-Karatteristiċi tal-Awdjo
Ġeneratur tal-Karatteristiċi tal-Awdjo
Ġeneratur tal-Karatteristiċi tal-Awdjo
Il-ġeneratur tal-karatteristiċi tal-awdjo jiġbed il-karatteristiċi mel-filterbank minn sinjal awdjo biex jużahom ma' applikazzjonijiet ta' klassifikazzjoni tal-awdjo għat-tagħlim awtomatiku bl-użu ta' mikrofonu bħala sors awdjo.
Ġenerazzjoni tal-Karatteristiċi
L-iskala Mel tirreplika l-imġiba tal-widna umana, li għandha riżoluzzjoni ogħla għal frekwenzi aktar baxxi u hija inqas diskriminatorja tal-frekwenzi ogħla. Biex jinħoloq bank ta' filtri mel, numru ta' filtri jiġu applikati għas-sinjal, fejn il-passband tal-filtri tal-kanal aktar baxx hija dejqa u tiżdied lejn frekwenzi ogħla.
Is-sinjal awdjo jinqasam f'segmenti qosra li jikkoinċidu bl-użu ta' funzjoni ta' tieqa (Hamming). It-Trasformazzjoni Fast Fourier (FFT) tiġi applikata għal kull segment biex jinkiseb l-ispettru tal-frekwenza u mbagħad l-ispettru tal-qawwa tas-segment. Il-bank tal-filtri jinħoloq billi tiġi applikata serje ta' filtri skalati mel fuq l-output. Fl-aħħarnett, il-log jiġi applikat fuq l-output biex tiżdied is-sensittività bejn il-kanali t'isfel.
Sinjal Awdjo
Tieqa
FFT
Filtri Mel
Log
Mel Filterbank fuq skala logaritmika
L-arranġament tal-karatteristiċi huwa ġġenerat billi jiġu ffurmati flimkien filterbanks ta' segmenti sekwenzjali biex jiffurmaw spettrogramma. L-arranġament huwa magħżul b'tali mod li l-ewwel element huwa l-ewwel kanal tal-eqdem filterbank.
Użu
sl_ml_audio_feature_generation_init() jinizzjalizza l-frontend għall-ġenerazzjoni tal-karatteristiċi bbażata fuq il-konfigurazzjoni f'sl_ml_audio_feature_generation_config.h. Jinizzjalizza wkoll u jibda l-mikrofonu fil-modalità streaming, li jpoġġi l-awdjoamples f'ring-buffer.
Jekk jintuża flimkien mal-Għodda tal-Konvertitur Flatbuffer u mudell TensorFlow Lite kompatibbli, il-konfigurazzjoni tinġibed mill-mudell TensorFlow Lite awtomatikament. Issettja l-għażla ta' konfigurazzjoni SL_ML_AUDIO_FEATURE_GENERATION_MANUAL_CONFIG_ENABLE biex tegħleb dan l-imġiba u tuża għażliet ikkonfigurati manwalment mill-intestatura tal-konfigurazzjoni.
Il-karatteristiċi jiġu ġġenerati meta sl_ml_audio_feature_generation_update_features() tiġi msejħa. Il-ġeneratur tal-karatteristiċi mbagħad jaġġorna l-karatteristiċi għal kemm jista' jkun segmenti ġodda ta' awdjo, u jibda mill-aħħar darba li l-funzjoni ġiet imsejħa sal-ħin attwali. Il-karatteristiċi l-ġodda jiġu miżjuda mal-buffer tal-karatteristiċi, u jissostitwixxu l-eqdem karatteristiċi b'tali mod li l-firxa tal-karatteristiċi dejjem ikun fiha l-aktar karatteristiċi aġġornati.
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
59/89
Ġeneratur tal-Karatteristiċi tal-Awdjo
Innota li jekk il-bafer tal-awdjo mhux kbir biżżejjed biex iżomm l-awdjo kolluamples meħtieġa biex jiġġeneraw karatteristiċi bejn sejħiet għal sl_ml_audio_feature_generation_update_features(), id-dejta tal-awdjo sempliċement tinkiteb fuqha. Il-ġeneratur mhux se jirritorna żball. Għalhekk, il-bafer tal-awdjo jrid jiġi kkonfigurat biex ikun kbir biżżejjed biex jaħżen il-fajls il-ġodda kollha.ampdejta mmexxija bejn l-aġġornament tal-karatteristiċi.
Biex tirkupra l-karatteristiċi ġġenerati, trid tissejjaħ jew sl_ml_audio_feature_generation_get_features_raw(), sl_ml_audio_feature_generation_get_features_quantized(), jew sl_ml_audio_feature_generation_fill_tensor().
Example
Meta jintuża ma' TensorFlow Lite Micro, il-ġeneratur tal-karatteristiċi tal-awdjo jista' jintuża biex jimla tensor direttament billi juża sl_ml_audio_feature_generation_fill_tensor(). Madankollu, il-mudell irid jiġi mħarreġ bl-użu tal-istess konfigurazzjonijiet tal-ġeneratur tal-karatteristiċi bħal dawk użati għall-inferenza, ikkonfigurati f'sl_ml_audio_feature_generation_config.h.
#inkludi “sl_tflite_micro_init.h” #inkludi “sl_ml_audio_feature_generation.h”
vojt prinċipali(vojt) {
sl_ml_awdjo_karatteristika_ġenerazzjoni_init();
waqt li(1){ sl_ml_audio_feature_generation_update_features();
jekk(do_inference){ sl_ml_audio_feature_generation_fill_tensor(sl_tflite_micro_get_input_tensor()); sl_tflite_micro_get_interpreter()->Invoke();
}
...
} }
Innota li l-aġġornament tal-karatteristiċi u l-irkupru tagħhom jistgħu jsiru b'mod indipendenti. L-aġġornament tal-karatteristiċi għandu jsir spiss biżżejjed biex jiġi evitat li l-buffer tal-awdjo jiġi sovraskritt filwaqt li l-irkupru tagħhom jeħtieġ li jsir biss qabel l-inferenza.
Il-ġeneratur tal-karatteristiċi tal-awdjo jiġbed il-karatteristiċi mel-filterbank minn sinjal awdjo biex jużahom ma' applikazzjonijiet ta' klassifikazzjoni tal-awdjo għat-tagħlim awtomatiku bl-użu ta' mikrofonu bħala sors awdjo.
Ġenerazzjoni tal-Karatteristiċi
L-iskala Mel tirreplika l-imġiba tal-widna umana, li għandha riżoluzzjoni ogħla għal frekwenzi aktar baxxi u hija inqas diskriminatorja tal-frekwenzi ogħla. Biex jinħoloq bank ta' filtri mel, numru ta' filtri jiġu applikati għas-sinjal, fejn il-passband tal-filtri tal-kanal aktar baxx hija dejqa u tiżdied lejn frekwenzi ogħla.
Is-sinjal awdjo jinqasam f'segmenti qosra li jikkoinċidu bl-użu ta' funzjoni ta' tieqa (Hamming). It-Trasformazzjoni Fast Fourier (FFT) tiġi applikata għal kull segment biex jinkiseb l-ispettru tal-frekwenza u mbagħad l-ispettru tal-qawwa tas-segment. Il-bank tal-filtri jinħoloq billi tiġi applikata serje ta' filtri skalati mel fuq l-output. Fl-aħħarnett, il-log jiġi applikat fuq l-output biex tiżdied is-sensittività bejn il-kanali t'isfel.
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
60/89
Ġeneratur tal-Karatteristiċi tal-Awdjo
Sinjal Awdjo
Tieqa
FFT
Filtri Mel
Log
Mel Filterbank fuq skala logaritmika
L-arranġament tal-karatteristiċi huwa ġġenerat billi jiġu ffurmati flimkien filterbanks ta' segmenti sekwenzjali biex jiffurmaw spettrogramma. L-arranġament huwa magħżul b'tali mod li l-ewwel element huwa l-ewwel kanal tal-eqdem filterbank.
Użu
sl_ml_audio_feature_generation_init() jinizzjalizza l-frontend għall-ġenerazzjoni tal-karatteristiċi bbażata fuq il-konfigurazzjoni f'sl_ml_audio_feature_generation_config_si91x.h. Jinizzjalizza wkoll u jibda l-mikrofonu fil-modalità streaming, li jpoġġi l-awdjoamples f'ring-buffer.
Jekk jintuża flimkien mal-Għodda tal-Konvertitur Flatbuffer u mudell TensorFlow Lite kompatibbli, il-konfigurazzjoni tinġibed mill-mudell TensorFlow Lite awtomatikament. Issettja l-għażla ta' konfigurazzjoni SL_ML_AUDIO_FEATURE_GENERATION_MANUAL_CONFIG_ENABLE biex tegħleb dan l-imġiba u tuża għażliet ikkonfigurati manwalment mill-intestatura tal-konfigurazzjoni.
Il-karatteristiċi jiġu ġġenerati meta sl_ml_audio_feature_generation_update_features() tiġi msejħa. Il-ġeneratur tal-karatteristiċi mbagħad jaġġorna l-karatteristiċi għal kemm jista' jkun segmenti ġodda ta' awdjo, u jibda mill-aħħar darba li l-funzjoni ġiet imsejħa sal-ħin attwali. Il-karatteristiċi l-ġodda jiġu miżjuda mal-buffer tal-karatteristiċi, u jissostitwixxu l-eqdem karatteristiċi b'tali mod li l-firxa tal-karatteristiċi dejjem ikun fiha l-aktar karatteristiċi aġġornati.
Innota li jekk il-bafer tal-awdjo mhux kbir biżżejjed biex iżomm l-awdjo kolluamples meħtieġa biex jiġġeneraw karatteristiċi bejn sejħiet għal sl_ml_audio_feature_generation_update_features(), id-dejta tal-awdjo sempliċement tinkiteb fuqha. Il-ġeneratur mhux se jirritorna żball. Għalhekk, il-bafer tal-awdjo jrid jiġi kkonfigurat biex ikun kbir biżżejjed biex jaħżen il-fajls il-ġodda kollha.ampdejta mmexxija bejn l-aġġornament tal-karatteristiċi.
Biex tirkupra l-karatteristiċi ġġenerati, trid tissejjaħ jew sl_ml_audio_feature_generation_get_features_raw(), sl_ml_audio_feature_generation_get_features_quantized(), jew sl_ml_audio_feature_generation_fill_tensor().
Example
Meta jintuża ma' TensorFlow Lite Micro, il-ġeneratur tal-karatteristiċi tal-awdjo jista' jintuża biex jimla tensor direttament billi juża sl_ml_audio_feature_generation_fill_tensor(). Madankollu, il-mudell irid jiġi mħarreġ bl-użu tal-istess konfigurazzjonijiet tal-ġeneratur tal-karatteristiċi bħal dawk użati għall-inferenza, ikkonfigurati f'sl_ml_audio_feature_generation_config_si91x.h.
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
61/89
Ġeneratur tal-Karatteristiċi tal-Awdjo
#inkludi “sl_tflite_micro_init.h” #inkludi “sl_ml_audio_feature_generation_si91x.h”
vojt prinċipali(vojt) {
sl_ml_awdjo_karatteristika_ġenerazzjoni_init();
waqt li(1){ sl_ml_audio_feature_generation_update_features();
jekk(do_inference){ sl_ml_audio_feature_generation_fill_tensor(sl_tflite_micro_get_input_tensor()); sl_tflite_micro_get_interpreter()->Invoke();
}
...
} }
Innota li l-aġġornament tal-karatteristiċi u l-irkupru tagħhom jistgħu jsiru b'mod indipendenti. L-aġġornament tal-karatteristiċi għandu jsir spiss biżżejjed biex jiġi evitat li l-buffer tal-awdjo jiġi sovraskritt filwaqt li l-irkupru tagħhom jeħtieġ li jsir biss qabel l-inferenza.
Tipi ta' Defijiet
typedef vojt(*
sl_ml_audio_feature_generation_mic_callback_t)(void *arg, const int16_t *data, uint32_t n_frames)
Tip ta' funzjoni ta' sejħa lura tal-mikrofonu għall-ġenerazzjoni ta' karatteristiċi awdjo.
Varjabbli
int16_t *
sl_ml_audio_feature_generation_audio_buffer
Buffer awdjo estern għall-ġenerazzjoni ta' karatteristiċi awdjo.
Funzjonijiet
sl_status_t sl_status_t sl_status_t sl_status_t sl_status_t sl_status_t
int
int vojt
sl_ml_awdjo_karatteristika_ġenerazzjoni_init()
Issettja l-mikrofonu bħala sors awdjo għall-ġenerazzjoni tal-karatteristiċi u inizjalizza l-frontend għall-ġenerazzjoni tal-karatteristiċi.
sl_ml_audio_feature_generation_frontend_init()
Inizjalizza l-mikrofrontend skont il-konfigurazzjoni f'sl_ml_audio_feature_generation_config.h.
sl_ml_audio_feature_generation_update_features()
Aġġorna l-feature buffer bil-feature slices neqsin mill-aħħar sejħa għal din il-funzjoni.
sl_ml_audio_feature_generation_get_features_raw(uint16_t *buffer, size_t numru_elementi)
Irkupra l-karatteristiċi bħala t-tip uint16 u kkopjahom fil-buffer ipprovdut.
sl_ml_audio_feature_generation_fill_tensor(TfLiteTensor *input_tensor)
Imla tensur TensorFlow b'dejta tal-karatteristiċi tat-tip int8.
sl_ml_audio_feature_generation_get_new_feature_slice_count()
Irritorna n-numru ta' slices ta' karatteristiċi ġodda jew mhux miġbura li ġew aġġornati mill-aħħar sejħa lil sl_ml_audio_feature_generation_get_features_raw jew sl_ml_audio_feature_generation_fill_tensor.
sl_ml_audio_feature_generation_get_feature_buffer_size()
Irritorna d-daqs tal-bafer tal-karatteristiċi.
sl_ml_audio_feature_generation_reset()
Irrisettja l-istat tal-ġeneratur tal-karatteristiċi tal-awdjo.
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
62/89
Ġeneratur tal-Karatteristiċi tal-Awdjo
sl_status_t
sl_ml_audio_feature_generation_init_with_buffer(int16_t *buffer, int n_frames)
Inizjalizza l-ġenerazzjoni tal-karatteristiċi tal-awdjo b'buffer ipprovdut mill-utent.
sl_status_t
sl_ml_audio_feature_generation_get_features_raw_float32(float *buffer, size_t num_elementi)
Irkupra l-karatteristiċi bħala tip float32 u kkopjahom fil-buffer ipprovdut.
sl_status_t
sl_ml_audio_feature_generation_get_features_scaled(float *buffer, size_t num_elementi, float scaler)
Irkupra l-karatteristiċi, jiskalahom bl-iskaler mogħti, u jimla l-float buffer.
sl_status_t
sl_ml_audio_feature_generation_get_features_mean_std_normalized(float *buffer, size_t num_elementi)
Irkupra l-karatteristiċi, jinnormalizzahom billi jiċċentra madwar il-medja u d-devjazzjoni standard tagħhom u jimla l-float buffer.
sl_status_t
attività_ta' ġenerazzjoni_ta'_sl_ml_awdjo_feature()
Ritorn jekk il-blokka ta' skoperta tal-attività skopriet attività fil-fluss tal-awdjo.
sl_status_t
sl_ml_audio_feature_generation_set_mic_callback(sl_ml_audio_feature_generation_mic_callback_t sejħa lura, void *arg)
Issettja s-sejħa lura tal-mikrofonu għall-ġenerazzjoni tal-karatteristika tal-awdjo.
Dokumentazzjoni tat-Typedef
sl_ml_audio_feature_generation_mic_callback_t
typedef void(* sl_ml_audio_feature_generation_mic_callback_t) (void *arg, const int16_t *data, uint32_t n_frames) )(void *arg, const int16_t *data, uint32_t n_frames)
Tip ta' funzjoni ta' sejħa lura tal-mikrofonu għall-ġenerazzjoni ta' karatteristiċi awdjo. Parametri
Tip
Direzzjoni N/AN/AN/A
Isem tal-Argument arg data n_frames
Deskrizzjoni Argument definit mill-utent mgħoddi lill-callback. Pointer għall-buffer tad-dejta tal-awdjo. Numru ta' frejms tal-awdjo fil-buffer.
Dokumentazzjoni Varjabbli
sl_ml_audio_feature_generation_audio_buffer
int16_t* sl_ml_audio_feature_generation_audio_buffer Buffer tal-awdjo estern għall-ġenerazzjoni tal-karatteristiċi tal-awdjo.
Dokumentazzjoni tal-Funzjoni
sl_ml_awdjo_karatteristika_ġenerazzjoni_init
sl_status_t sl_ml_audio_feature_generation_init () Issettja l-mikrofonu bħala sors awdjo għall-ġenerazzjoni tal-karatteristiċi u inizjalizza l-frontend għall-ġenerazzjoni tal-karatteristiċi. Ritorn
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
63/89
Ġeneratur tal-Karatteristiċi tal-Awdjo SL_STATUS_OK għal suċċess SL_STATUS_FAIL
sl_ml_audio_feature_generation_frontend_init
sl_status_t sl_ml_audio_feature_generation_frontend_init ()
Inizjalizza l-mikrofrontend skont il-konfigurazzjoni f'sl_ml_audio_feature_generation_config.h. Inizjalizza l-mikrofrontend skont il-konfigurazzjoni f'sl_ml_audio_feature_generation_config_si91x.h. Ritorn
SL_STATUS_OK għal suċċess SL_STATUS_FAIL
karatteristiċi_ta' aġġornament_tal-ġenerazzjoni_tal-feature_tal-awdjo_sl_ml
sl_status_t sl_ml_audio_feature_generation_update_features ()
Aġġorna l-feature buffer bil-fetches tal-karatteristiċi neqsin mill-aħħar sejħa għal din il-funzjoni. Biex tirkupra l-karatteristiċi, ċempel sl_ml_audio_feature_generation_get_features_raw jew sl_ml_audio_feature_generation_fill_tensor. Nota
Din il-funzjoni trid tissejjaħ spiss biżżejjed biex tiżgura li l-buffer tal-awdjo ma jiġix miktub fuqu.
SL_STATUS_OK għal suċċess SL_STATUS_EMPTY Ma ġew ikkalkulati l-ebda porzjonijiet ġodda
sl_ml_audio_feature_generation_get_features_raw
sl_status_t sl_ml_audio_feature_generation_get_features_raw (uint16_t * buffer, size_t numru_elementi)
Irkupra l-karatteristiċi bħala t-tip uint16 u kkopjahom fil-buffer ipprovdut. Parametri
Tip
Direzzjoni
Isem tal-Argument
Deskrizzjoni
uint16_t [barra] * size_t [pulzieri]
buffer
Pointer għall-buffer biex jaħżen id-dejta tal-karatteristika
num_elements In-numru ta' elementi li jikkorrispondu għad-daqs tal-buffer; Jekk dan mhux kbir biżżejjed biex jaħżen il-buffer tal-karatteristiċi kollu, il-funzjoni tirritorna b'żball.
Nota Din il-funzjoni tissostitwixxi l-buffer kollu.
Jirritorna SL_STATUS_OK għal suċċess SL_STATUS_INVALID_PARAMETER num_elements żgħir wisq
sl_ml_awdjo_karatteristika_ġenerazzjoni_mili_tensor
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
64/89
Ġeneratur tal-Karatteristiċi tal-Awdjo
sl_status_t sl_ml_audio_feature_generation_fill_tensor (TfLiteTensor * input_tensor)
Imla tensur TensorFlow b'dejta tal-karatteristiċi tat-tip int8. Parametri
Tip TfLiteTensor *
Direzzjoni [ġewwa]
Isem tal-Argument input_tensor
Deskrizzjoni It-tensur tad-dħul li għandu jimtela bil-karatteristiċi.
Il-valuri int8 huma derivati billi jiġi kwantizzat l-output tal-mikrofrontend, mistenni li jkun fil-medda ta' 0 sa 670, għal numri sħaħ iffirmati fil-medda ta' -128 sa 127.
Nota
Din il-funzjoni tissostitwixxi t-tensur tal-input kollu. Tappoġġja tensuri tat-tip kTfLiteInt8.
Ritorni
SL_STATUS_OK għal suċċess SL_STATUS_INVALID_PARAMETER It-tip jew id-daqs tat-tensur ma jikkorrispondix mal-konfigurazzjoni
sl_ml_audio_feature_generation_get_new_feature_slice_count
int sl_ml_audio_feature_generation_get_new_feature_slice_count ()
Irritorna n-numru ta' slices ta' karatteristiċi ġodda jew mhux miġbura li ġew aġġornati mill-aħħar sejħa lil sl_ml_audio_feature_generation_get_features_raw jew sl_ml_audio_feature_generation_fill_tensor. Irritorna
In-numru ta' slices ta' karatteristiċi mhux miġbura
sl_ml_audio_feature_generation_get_feature_buffer_size
int sl_ml_audio_feature_generation_get_feature_buffer_size ()
Irritorna d-daqs tal-bafer tal-karatteristika.
Daqs tal-bafer tal-karatteristiċi
sl_ml_audio_feature_generation_reset
void sl_ml_audio_feature_generation_reset () Irrisettja l-istat tal-ġeneratur tal-karatteristiċi tal-awdjo.
sl_ml_audio_feature_generation_init_with_buffer
sl_status_t sl_ml_audio_feature_generation_init_with_buffer (int16_t * buffer, int n_frames)
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
65/89
Ġeneratur tal-Karatteristiċi tal-Awdjo
Inizjalizza l-ġenerazzjoni tal-karatteristiċi tal-awdjo b'buffer ipprovdut mill-utent. Parametri
Ittajpja int16_t * int
Direzzjoni [ġewwa] [ġewwa]
Isem tal-Argument buffer n_frames
Deskrizzjoni Pointer għall-buffer tal-awdjo li għandu jintuża għall-ġenerazzjoni tal-karatteristiċi. Numru ta' frejms tal-awdjo fil-buffer.
Jirritorna SL_STATUS_OK jekk jirnexxi, SL_STATUS_FAIL jekk le.
sl_ml_audio_feature_generation_get_features_raw_float32
sl_status_t sl_ml_audio_feature_generation_get_features_raw_float32 (float * buffer, size_t numru_elementi)
Irkupra l-karatteristiċi bħala tip float32 u kkopjahom fil-buffer ipprovdut. Parametri
Tip
Direzzjoni
Isem tal-Argument
Deskrizzjoni
float * [barra]
buffer
Pointer għall-buffer biex jaħżen id-dejta tal-karatteristika
daqs_t [pulzieri]
num_elements In-numru ta' elementi li jikkorrispondu għad-daqs tal-buffer; Jekk dan mhux kbir biżżejjed biex jaħżen il-buffer tal-karatteristiċi kollu, il-funzjoni tirritorna b'żball.
Nota Din il-funzjoni tissostitwixxi l-buffer kollu.
Jirritorna SL_STATUS_OK għal suċċess SL_STATUS_INVALID_PARAMETER num_elements żgħir wisq
sl_ml_audio_feature_generation_get_features_scaled
sl_status_t sl_ml_audio_feature_generation_get_features_scaled (float * buffer, size_t num_elementi, float scaler)
Irkupra l-karatteristiċi, jiskalahom bl-iskaler mogħti, u jimla l-float buffer. Parametri
Tip
Direzzjoni
Isem tal-Argument
Deskrizzjoni
float * [barra]
buffer
Pointer għall-bafer biex jaħżen id-dejta tal-karatteristika skalata
daqs_t [pulzieri]
num_elements In-numru ta' elementi li jikkorrispondu għad-daqs tal-buffer; Jekk dan mhux kbir biżżejjed biex jaħżen il-buffer tal-karatteristiċi kollu, il-funzjoni tirritorna b'żball.
f'wiċċ l-ilma
scaler
Il-fattur tal-iskalar li għandu jiġi applikat għal kull valur tal-karatteristika.
buffer = (float)uint16_features_data * scaler Nota
Din il-funzjoni tissostitwixxi l-buffer kollu.
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
66/89
Ġeneratur tal-Karatteristiċi tal-Awdjo
Jirritorna SL_STATUS_OK għal suċċess SL_STATUS_INVALID_PARAMETER num_elements żgħir wisq
sl_ml_audio_feature_generation_get_features_mean_std_normalized
sl_status_t sl_ml_audio_feature_generation_get_features_mean_std_normalized (float * buffer, size_t num_elementi)
Jirkupra l-karatteristiċi, jinnormalizzahom billi jiċċentra madwar il-medja u d-devjazzjoni standard tagħhom u jimla l-buffer float. Parametri
Tip
Direzzjoni
Isem tal-Argument
Deskrizzjoni
float * [barra]
buffer
Pointer għall-buffer biex jaħżen id-dejta tal-karatteristika normalizzata
daqs_t [pulzieri]
num_elements In-numru ta' elementi li jikkorrispondu għad-daqs tal-buffer; Jekk dan mhux kbir biżżejjed biex jaħżen il-buffer tal-karatteristiċi kollu, il-funzjoni tirritorna b'żball.
buffer = ((float)uint16_features_data – medja(uint16_features_data)) / std(uint16_features_data) Nota
Din il-funzjoni tissostitwixxi l-buffer kollu. Ritorn
SL_STATUS_OK għal suċċess SL_STATUS_INVALID_PARAMETER num_elements żgħir wisq
attività_ta' ġenerazzjoni_ta' sl_ml_awdjo_karatteristika_skoperta
sl_status_t sl_ml_audio_feature_generation_activity_detected ()
Ritorn jekk il-blokka ta' skoperta tal-attività skopriet attività fl-istreaming tal-awdjo. sl_ml_audio_feature_generation_update_features() trid tissejjaħ perjodikament biex tiskopri l-attività. Nota
SL_ML_FRONTEND_ACTIVITY_DETECTION_ENABLE irid ikun 1 biex tuża din l-API. L-istat intern jiġi rrisettjat wara li ssejjaħ din l-API. Jiġifieri jekk din l-API tirritorna SL_STATUS_OK, allura s-sejħa mill-ġdid ta' din l-API tirritorna SL_STATUS_IN_PROGRESS sakemm tiġi skoperta attività ġdida. Tirritorna SL_STATUS_OK jekk ġiet skoperta attività SL_STATUS_IN_PROGRESS jekk ma ġiet skoperta l-ebda attività SL_STATUS_NOT_AVAILABLE jekk il-blokka ta' skoperta tal-attività mhix attivata
sl_ml_audio_feature_generation_set_mic_callback
sl_status_t sl_ml_audio_feature_generation_set_mic_callback (sl_ml_audio_feature_generation_mic_callback_t callback, void * arg) Issettja s-sejħa lura tal-mikrofonu għall-ġenerazzjoni tal-karatteristika tal-awdjo. Parametri
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
67/89
Ġeneratur tal-Karatteristiċi tal-Awdjo
Ittajpja sl_ml_audio_feature_generation_mic_callback_t vojt *
Direzzjoni N/AN/A
Isem tal-Argument callback arg
Deskrizzjoni Puntatur tal-funzjoni għas-sejħa lura tal-mikrofonu. Argument definit mill-utent biex jgħaddi lis-sejħa lura.
Jirritorna sl_status_t Kodiċi tal-istatus li jindika suċċess jew falliment.
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
68/89
Ġeneratur tal-Karatteristiċi tal-Immaġni
Ġeneratur tal-Karatteristiċi tal-Immaġni
Ġeneratur tal-Karatteristiċi tal-Immaġni
Il-ġeneratur tal-karatteristiċi tal-immaġni jipproċessa l-immaġni tad-dħul maqbuda mill-kamera u jiġbed il-karatteristiċi meħtieġa biex jużahom ma' applikazzjonijiet ta' klassifikazzjoni tal-immaġni tat-tagħlim awtomatiku bl-użu ta' kamera bħala sors ta' immaġni.
Ġenerazzjoni tal-Karatteristiċi
L-immaġni maqbuda ġiet ipproċessata minn qabel bl-użu ta' normalizzazzjoni tal-crop u l-mean-std ibbażata fuq il-konfigurazzjoni tal-mudell użata mill-applikazzjoni.
Immaġni
Uċuħ tar-raba'
Iċċekkja l-medja
Normalizzazzjoni
Mudell
Użu
sl_ml_image_feature_generation_init() tinizjalizza l-ġenerazzjoni tal-karatteristiċi bbażata fuq il-konfigurazzjoni f'sl_ml_image_feature_generation_config.h. Tinizjalizza wkoll u tibda l-kamera fil-modalità streaming, li tpoġġi l-immaġniamples f'buffer tal-ping-pong.
L-immaġni tiġi pproċessata minn qabel u mimlija bit-tensor tal-input meta sl_ml_image_feature_generation_fill_tensor() tiġi msejħa.
Biex jiġu rkuprati l-karatteristiċi ġġenerati trid tissejjaħ sl_ml_image_feature_generation_fill_tensor().
Example
Meta jintuża ma' TensorFlow Lite Micro, il-ġeneratur tal-karatteristiċi tal-immaġni jista' jintuża biex jimla tensor direttament billi juża sl_ml_image_feature_generation_fill_tensor(). Madankollu, il-mudell irid jiġi mħarreġ bl-użu tal-istess konfigurazzjonijiet tal-ġeneratur tal-karatteristiċi bħal dawk użati għall-inferenza, ikkonfigurati f'sl_ml_image_feature_generation_config.h.
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
69/89
Ġeneratur tal-Karatteristiċi tal-Immaġni
#inkludi “sl_tflite_micro_init.h” #inkludi “sl_ml_image_feature_generation.h”
vojt prinċipali(vojt) {
sl_ml_image_feature_generation_init();
waqt li(1){ * jekk(do_inference){ sl_ml_image_feature_generation_fill_tensor(sl_tflite_micro_get_input_tensor()); sl_tflite_micro_get_interpreter()->Invoke(); }
...
} }
Funzjonijiet
sl_status_t sl_status_t sl_status_t
vojt vojt vojt sl_status_t sl_status_t sl_status_t sl_status_t vojt
sl_ml_image_feature_generation_init()
Issettja l-kamera bħala sors ta' immaġni għall-ġenerazzjoni tal-karatteristiċi.
sl_ml_image_feature_generation_fill_tensor(TfLiteTensor *input_tensor)
Imla tensur TensorFlow bid-dejta tal-karatteristiċi. It-tip ta' dejta tal-immaġni tad-dħul għall-mudell se jintgħażel abbażi tal-konfigurazzjoni tal-mudell.
sl_ml_inizjalizza_arducam_kamera()
Issettja l-aurducam bħala sors ta' immaġni għall-ġenerazzjoni tal-karatteristiċi u inizjalizza l-kamera bil-konfigurazzjoni.
sl_ml_dump_image(const uint8_t *image_data, uint32_t image_length)
Issettja l-istreaming JLink bħala nodu tal-output. Id-dejta tal-immaġni tiġi mxandra fuq JLink għall-interfaċċja tal-python.
sl_ml_retrieve_next_camera_image(uint8_t **dejta_tal-immaġni, uint32_t *daqs_tal-immaġni)
Irkupra l-immaġni mill-buffer tal-ping-pog maqbud minn aurducam. Aħżen id-dejta tal-immaġni fil-pointer tad-destinazzjoni.
sl_ml_immaġni_crop_lut_init()
Inizjalizza t-tabella tat-tiftix għall-qtugħ tal-immaġni.
sl_ml_image_feature_generation_get_image_scaled(uint8_t *image_data, float *buffer, size_t num_elementi, float scaler)
Irkupra l-karatteristiċi, jiskalahom bl-iskaler mogħti, u jimla l-float buffer.
sl_ml_get_image_mean(uint8_t *in_cam_image, float *mean, float *mean2, size_t num_elementi)
Jikkalkula l-medja u l-medja kwadratika tal-immaġni tad-dħul.
sl_ml_image_feature_generation_get_image_mean_std_normalized(uint8_t *image_data, float *buffer, float medja, float medja2, size_t numru_elementi)
Irkupra l-karatteristiċi, jinnormalizzahom billi jiċċentra madwar il-medja u d-devjazzjoni standard tagħhom u jimla l-float buffer.
sl_ml_image_feature_generation_get_image_raw_float32(uint8_t *image_data, float *buffer, size_t num_elementi)
Irkupra l-karatteristiċi bħala tip float32 u kkopjahom fil-buffer ipprovdut.
sl_ml_image_feature_generation_reset()
Irrisettja l-istat tal-ġeneratur tal-karatteristiċi tal-immaġni.
Dokumentazzjoni tal-Funzjoni
sl_ml_image_feature_generation_init
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
70/89
Ġeneratur tal-Karatteristiċi tal-Immaġni
sl_status_t sl_ml_image_feature_generation_init ()
Issettja l-kamera bħala sors ta' immaġni għall-ġenerazzjoni tal-karatteristiċi.
SL_STATUS_OK għal suċċess SL_STATUS_FAIL
sl_ml_image_feature_generation_fill_tensor
sl_status_t sl_ml_image_feature_generation_fill_tensor (TfLiteTensor * input_tensor)
Imla tensur TensorFlow bid-dejta tal-karatteristiċi. It-tip ta' dejta tal-immaġni tad-dħul għall-mudell se jintgħażel abbażi tal-konfigurazzjoni tal-mudell. Parametri
Tip TfLiteTensor *
Direzzjoni [ġewwa]
Isem tal-Argument input_tensor
Deskrizzjoni It-tensur tad-dħul li għandu jimtela bil-karatteristiċi.
Nota Din il-funzjoni tissostitwixxi t-tensur tad-dħul kollu.
Jirritorna SL_STATUS_OK f'każ ta' suċċess SL_STATUS_INVALID_PARAMETER It-tip jew id-daqs tat-tensur ma jikkorrispondix mal-konfigurazzjoni
sl_ml_inizjalizza_kamera_arducam
sl_status_t sl_ml_initialize_arducam_camera ()
Issettja l-aurducam bħala sors ta' immaġni għall-ġenerazzjoni tal-karatteristiċi u inizjalizza l-kamera bil-konfigurazzjoni. Ritorn
SL_STATUS_OK għal suċċess SL_STATUS_FAIL
immaġni_sl_ml_dump
void sl_ml_dump_image (kost uint8_t * image_data, uint32_t image_length)
Issettja l-istreaming JLink bħala nodu tal-output. Id-dejta tal-immaġni tiġi mxandra fuq JLink għall-interfaċċja tal-python. Parametri
Ittajpja l-kost uint8_t * uint32_t
Direzzjoni N/AN/A
Isem tal-Argument image_data image_length
Ritorni
SL_STATUS_OK għal suċċess SL_STATUS_FAIL
Deskrizzjoni
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
71/89
Ġeneratur tal-Karatteristiċi tal-Immaġni
sl_ml_irkupra_l-immaġni_tal-kamera_li_next
vojt sl_ml_retrieve_next_camera_image (uint8_t ** image_data, uint32_t * image_size)
Irkupra l-immaġni mill-buffer tal-ping-pog maqbud minn aurducam. Aħżen id-dejta tal-immaġni fil-pointer tad-destinazzjoni. Parametri
Ittajpja uint8_t ** uint32_t *
Direzzjoni N/AN/A
Isem tal-Argument image_data image_size
Deskrizzjoni
sl_ml_image_crop_lut_init
void sl_ml_image_crop_lut_init () Jiinizjalizza t-tabella tat-tiftix għall-qtugħ tal-immaġni.
sl_ml_image_feature_generation_get_image_scaled
sl_status_t sl_ml_image_feature_generation_get_image_scaled (uint8_t * image_data, float * buffer, size_t num_elementi, float scaler)
Irkupra l-karatteristiċi, jiskalahom bl-iskaler mogħti, u jimla l-float buffer. Parametri
Tip
Direzzjoni
Isem tal-Argument
Deskrizzjoni
uint8_t [barra] * float * [ġewwa]
buffer tad-dejta tal-immaġni
Pointer għall-bafer biex jaħżen id-dejta tal-karatteristika skalata
In-numru ta' elementi li jikkorrispondu għad-daqs tal-buffer; Jekk dan mhux kbir biżżejjed biex jaħżen il-buffer tal-karatteristiċi kollu, il-funzjoni tirritorna b'żball.
daqs_t [pulzieri]
num_elements Il-fattur tal-iskalar li għandu jiġi applikat għal kull valur tal-karatteristika.
float N/A
scaler
buffer = (float)image_data * scaler
Nota
Din il-funzjoni tissostitwixxi l-buffer kollu.
Ritorni
SL_STATUS_OK għal suċċess SL_STATUS_INVALID_PARAMETER num_elements żgħir wisq
sl_ml_get_image_mean
sl_status_t sl_ml_get_image_mean (uint8_t * in_cam_image, float * medja, float * medja2, size_t numru_elementi)
Jikkalkula l-medja u l-medja kwadratika tal-immaġni tad-dħul. Parametri
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
72/89
Ġeneratur tal-Karatteristiċi tal-Immaġni
Tip
Direzzjoni
Isem tal-Argument
Deskrizzjoni
Tip
Direzzjoni
Isem tal-Argument
Deskrizzjoni
uint8_t [barra] * float * [barra]
in_cam_image Pointer għall-medja biex jaħżen il-valur medju tal-immaġni.
tfisser
Pointer lejn il-mean2 biex jaħżen il-valur kwadru medju tal-immaġni.
float * [fi]
medja2
In-numru ta' elementi li jikkorrispondu għad-daqs tal-buffer; Jekk dan mhux kbir biżżejjed biex jaħżen il-buffer tal-karatteristiċi kollu, il-funzjoni tirritorna b'żball.
daqs_t Mhux Applikabbli
numru_elementi
medja = ((float)data_tal-immaġni / (wisa'*tul)
Ritorni
SL_STATUS_OK għal suċċess SL_STATUS_INVALID_PARAMETER num_elements żgħir wisq
sl_ml_image_feature_generation_get_image_mean_std_normalized
sl_status_t sl_ml_image_feature_generation_get_image_mean_std_normalized (uint8_t * image_data, float * buffer, float medja, float medja2, size_t numru_elementi)
Jirkupra l-karatteristiċi, jinnormalizzahom billi jiċċentra madwar il-medja u d-devjazzjoni standard tagħhom u jimla l-buffer float. Parametri
Tip
Direzzjoni
Isem tal-Argument
Deskrizzjoni
uint8_t [barra] * float * [ġewwa]
buffer tad-dejta tal-immaġni
Pointer għall-buffer biex jaħżen id-dejta tal-karatteristika normalizzata float mean, il-valur medju tal-immaġni.
f'wiċċ l-ilma
tfisser
float mean2, valur kwadru medju tal-immaġni.
f'wiċċ l-ilma
medja2
In-numru ta' elementi li jikkorrispondu għad-daqs tal-buffer; Jekk dan mhux kbir biżżejjed biex jaħżen il-buffer tal-karatteristiċi kollu, il-funzjoni tirritorna b'żball.
daqs_t Mhux Applikabbli
numru_elementi
buffer = ((float)immaġni_dejta – medja(immaġni_dejta)) / std(immaġni_dejta)
Nota
Din il-funzjoni tissostitwixxi l-buffer kollu.
Ritorni
SL_STATUS_OK għal suċċess SL_STATUS_INVALID_PARAMETER num_elements żgħir wisq
sl_ml_image_feature_generation_get_image_raw_float32
sl_status_t sl_ml_image_feature_generation_get_image_raw_float32 (uint8_t * image_data, float * buffer, size_t num_elements) Irkupra l-karatteristiċi bħala tip float32 u kkopjahom fil-buffer ipprovdut. Parametri
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
73/89
Ġeneratur tal-Karatteristiċi tal-Immaġni
Tip
Direzzjoni
Isem tal-Argument
Deskrizzjoni
uint8_t [barra] * float * [ġewwa]
buffer tad-dejta tal-immaġni
Pointer għall-buffer biex jaħżen id-dejta tal-karatteristika
In-numru ta' elementi li jikkorrispondu għad-daqs tal-buffer; Jekk dan mhux kbir biżżejjed biex jaħżen il-buffer tal-karatteristiċi kollu, il-funzjoni tirritorna b'żball.
daqs_t Mhux Applikabbli
numru_elementi
Nota
Din il-funzjoni tissostitwixxi l-buffer kollu.
Ritorni
SL_STATUS_OK għal suċċess SL_STATUS_INVALID_PARAMETER num_elements żgħir wisq
reset tal-ġenerazzjoni tal-karatteristika tal-immaġni sl_ml
void sl_ml_image_feature_generation_reset () Irrisettja l-istat tal-ġeneratur tal-karatteristiċi tal-immaġni.
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
74/89
Debugjar Mikro ta' TensorFlow Lite
Debugjar Mikro ta' TensorFlow Lite
Debugjar Mikro ta' TensorFlow Lite
Utilitajiet SL addizzjonali għall-illoggjar f'TensorFlow Lite Micro.
Funzjonijiet
vojt bool
sl_tflite_micro_enable_debug_log(attivazzjoni bool)
Ippermetti jew iddiżattiva r-reġistrazzjoni tad-debug.
sl_tflite_micro_is_debug_log_enabled(vojt)
Iċċekkja jekk ir-reġistrazzjoni tad-debug hijiex attivata.
Dokumentazzjoni tal-Funzjoni
sl_tflite_micro_enable_debug_log
vojt sl_tflite_micro_enable_debug_log (attivazzjoni bool)
Ippermetti jew iddiżattiva l-logging tad-debug. Parametri
Tip bool
Direzzjoni [ġewwa]
Isem tal-Argument attivat
Deskrizzjoni Jekk ir-reġistrazzjoni tad-debug għandhiex tkun attivata jew diżattivata.
sl_tflite_micro_is_debug_log_enabled
bool sl_tflite_micro_is_debug_log_enabled (vojt)
Iċċekkja jekk ir-reġistrazzjoni tad-debug hijiex attivata. Parametri
Ittajpja vojt
Direzzjoni N/A
Ritorni
Jekk ir-reġistrazzjoni tad-debug hijiex attivata.
Isem tal-Argument
Deskrizzjoni
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
75/89
TensorFlow Lite Micro Init
TensorFlow Lite Micro Init
TensorFlow Lite Micro Init
Il-funzjonijiet TensorFlow Lite Micro Init huma ġġenerati awtomatikament mill-flatbuffer file ipprovdut fil-konfigurazzjoni, li tinkludi opsResolver iġġenerat skont l-operaturi inklużi fil-flatbuffer. Funzjonijiet ta' għajnuna biex jiġu aċċessati t-tensuri tad-dħul u tal-ħruġ huma wkoll ipprovduti.
Funzjonijiet
sl_status_t
uint8_t * tflite::ErrorR
esportatur * tflite::MicroI
nterpreter * TfLiteTensor * TfLiteTensor * tflite::MicroO
pResolver & void
sl_tflite_micro_estimate_arena_size(const tflite::Model *mudell, const tflite::MicroOpResolver &opcode_resolver, size_t *daqs_stmat)
Stima d-daqs tal-arena għal mudell partikolari.
sl_tflite_micro_allocate_tensor_arena(daqs_t daqs_tal-arena, uint8_t **tensor_arena)
Alloka b'mod dinamiku buffer li jista' jintuża għall-arena tat-tensur.
sl_tflite_micro_get_error_reporter()
Ikseb pointer għar-rapporter tal-iżbalji TensorFlow Lite Micro maħluq mill-funzjoni init.
sl_tflite_micro_get_interpreter()
Ikseb pointer għall-interpretu TensorFlow Lite Micro maħluq mill-funzjoni init.
sl_tflite_micro_get_input_tensor()
Ikseb pointer għat-tensur tal-input, issettjat mill-funzjoni init.
sl_tflite_micro_get_output_tensor()
Ikseb pointer għat-tensur tal-output, issettjat mill-funzjoni init.
sl_tflite_micro_opcode_resolver()
Ikseb pointer għar-riżolver tal-opcode għall-flatbuffer mogħti mill-konfigurazzjoni.
sl_tflite_micro_init(vojt)
Oħloq ir-rapporter tal-iżbalji u r-riżolver tal-opcode u inizjalizza l-varjabbli għall-flatbuffer mogħti mill-konfigurazzjoni.
Dokumentazzjoni tal-Funzjoni
sl_tflite_micro_estimate_arena_size
sl_status_t sl_tflite_micro_estimate_arena_size (kost tflite::Model * mudell, kostit tflite::MicroOpResolver & opcode_resolver, size_t * daqs_stima)
Stma d-daqs tal-arena għal mudell partikolari. Parametri
Tip const tflite::Model * const tflite::MicroOpResolver & size_t *
Direzzjoni ['il ġewwa] ['il ġewwa] ['il barra]
Isem tal-Argument mudell opcode_resolver estimated_size
Jirritorna SL_STATUS_OK jekk l-istima kienet ta' suċċess.
Deskrizzjoni Pointer għall-mudell biex jiġi stmat id-daqs tal-arena għalih. Ir-riżolver tal-opcode li għandu jintuża għall-mudell. Id-daqs stmat tal-arena, bħala output.
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
76/89
TensorFlow Lite Micro Init
sl_tflite_mikro_alloka_tensor_arena
uint8_t * sl_tflite_micro_allocate_tensor_arena (size_t arena_size, uint8_t ** tensor_arena)
Alloka b'mod dinamiku buffer li jista' jintuża għall-arena tat-tensur. Parametri
Tip size_t uint8_t **
Direzzjoni [ġewwa] [barra]
Isem tal-Argument arena_size tensor_arena
Deskrizzjoni Id-daqs tal-arena li għandha tiġi allokata. Pointer għall-buffer tal-arena tensor allokat.
Ritorni
Pointer għall-base buffer allokat. Jirritorna nullptr jekk l-allokazzjoni falliet. Il-base buffer jintuża biex tiġi lliberata l-memorja allokata.
sl_tflite_micro_get_error_reporter
tflite::ErrorReporter * sl_tflite_micro_get_error_reporter ()
Ikseb pointer għar-rapporter tal-iżbalji TensorFlow Lite Micro maħluq mill-funzjoni init. Ritorn
Pointer għar-rapporter tal-iżbalji.
sl_tflite_micro_get_interpreter
tflite::MikroInterpreter * sl_tflite_micro_get_interpreter ()
Ikseb pointer għall-interpretu TensorFlow Lite Micro maħluq mill-funzjoni init. Ritorn
Indikazzjoni għall-interpretu.
sl_tflite_micro_get_input_tensor
TfLiteTensor * sl_tflite_micro_get_input_tensor ()
Ikseb pointer għat-tensur tal-input, issettjat mill-funzjoni init. Ritorn
Pointer għat-tensur tad-dħul.
sl_tflite_micro_get_output_tensor
TfLiteTensor * sl_tflite_micro_get_output_tensor ()
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
77/89
TensorFlow Lite Micro Init
Ikseb pointer għat-tensur tal-output, issettjat mill-funzjoni init. Ritorn
Pointer għat-tensur tal-output.
sl_tflite_micro_opcode_resolver
tflite::MicroOpResolver & sl_tflite_micro_opcode_resolver ()
Ikseb pointer għar-riżolver tal-opcode għall-flatbuffer mogħti mill-konfigurazzjoni. Ritorn
L-indirizz għar-riżolver tal-opcode.
sl_tflite_micro_init
void sl_tflite_micro_init (void )
Create the error reporter and opcode resolver and initialize variables for the flatbuffer given by the configuration. Parameters
Ittajpja vojt
Direzzjoni N/A
Isem tal-Argument
Deskrizzjoni
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
78/89
Sampl-Applikazzjonijiet
Sampl-Applikazzjonijiet
Sample Applications Overview
The following applications demonstrate the use of the TensorFlow Lite for Microcontrollers framework with the Simplicity SDK.
Voice Control Light
This application demonstrates a neural network with TensorFlow Lite for Microcontrollers to detect the spoken words “on” and “off” from audio data recorded on the microphone in a Micrium OS kernel task. The detected keywords are used to control an LED on the board. The audio data is sampled continuously and preprocessed using the Audio Feature Generator component. Inference is run every 200 ms on the past ~1 s of audio data. This sample application uses the Flatbuffer Converter Tool to add the .tflite file to the application binary.
Z3SwitchWithVoice
This application combines voice detection with Zigbee 3.0 to create a voice-controlled switch node that can be used to toggle a light node. The application uses the same model as Voice Control Light to detect the spoken keywords “on” and “off”. Upon detection, the switch node sends On/Off commands over the Zigbee network. This sample application uses the Flatbuffer Converter Tool to add the .tflite file to the application binary.
TensorFlow Lite Micro – Hello World
This application demonstrates a model trained to replicate a sine function and use the inference results to fade an LED. The application is originally written by TensorFlow, but has been ported to the Simplicity SDK. The model is approximately 2.5 KB. The entire application takes around 157 KB flash and 15 KB RAM. This application uses large amounts of flash memory because it does not manually specify which operations are used in the model and, as a result, compiles all kernel implementations. The application illustrates a minimal inference application and serves as a good starting point for understanding the TensorFlow Lite for Microcontrollers model interpretation flow. This sample application uses a fixed model contained in hello_world_model_data.cc .
TensorFlow Lite Micro – Micro Speech
This application demonstrates a 20 KB model trained to detect simple words from speech data recorded from a microphone. The application is originally written by TensorFlow, but has been ported to the Simplicity SDK. This application uses around 100 KB flash and 37 KB of RAM. Around 10 KB of the RAM usage is related to FFT frontend and to store audio data. With a clock speed of 38.4 MHz and using the optimized kernel implementations, the inference time on ~1 s of audio data is approximately 111 ms. This application illustrates the process of generating features from audio data and doing detections in real time. It also demonstrates how to manually specify which operations are used in the network, which saves a significant amount of flash. This sample application uses a fixed model contained in micro_speech_model_data.cc .
TensorFlow Lite Micro – Magic Wand
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
79/89
Sampl-Applikazzjonijiet
This application demonstrates a 10 KB model trained to recognize various hand gestures using an accelerometer to detect the motion. The detected gestures are printed to the serial port. The application is originally written by TensorFlow, but has been ported to the Simplicity SDK.
This application uses around 104 KB flash and 25 KB of RAM. This application demonstrates how to use accelerometer data as inference input and also shows how to manually specify which operations are used in the network, which saves a significant amount of flash.
Dan sample application uses the Flatbuffer Converter Tool to add the .tflite file to the application binary.
TensorFlow Model Profiler
This application is designed to profile a TensorFlow Lite Micro model on Silicon Labs hardware. The model used by the application is provided by a TensorFlow Lite flatbuffer file called model.tflite in the config/tflite subdirectory. The profiler will measure the number of CPU clock cycles and elapsed time in each layer of the model when performing an inference. It will also produce a summary when inference is done. The input layer of the model is filled with all zeroes before performing a single inference. Profiling results are transmitted over VCOM.
To run the application with a different .tflite model, you can replace the file called model.tflite with a new TensorFlow Lite Micro flatbuffer file. This new file must also be called “model.tflite” and be placed inside the config/tflite subdirectory to be picked up by the sample application. After the model has been replaced, regenerate the project.
To load and perform inference on a TensorFlow Lite Micro model, allocate a number of bytes to a “tensor arena” to hold state needed by the TensorFlow Lite Micro. The size of this tensor arena depends on the size of the model and the number of operators. The TensorFlow Model Profiler application can be used to measure the amount of RAM needed by the tensor arena to load the specific TensorFlow Lite Micro model. This is measured by dynamically allocating RAM for the tensor arena and reporting the number of bytes needed on VCOM. The number of bytes needed for the tensor arena can later be used to statically allocate memory when the model is used in a different application.
Dan sample application uses the Flatbuffer Converter Tool to add the .tflite file to the application binary.
Rock-Paper-Scissors (Image Classification)
Image classification is one of the most important applications of deep learning and Artificial Intelligence. Image classification refers to assigning labels to images based on certain characteristics or features present in them. The algorithm identifies these features and uses them to differentiate between different images and assign labels to them.
This application uses TensorFlow Lite for Microcontrollers to run image classification machine learning models to classify hand gestures from image data captured from ArduCAM camera. The detection is visualized using the LED’s on the board and the classification results are written to the VCOM serial port.
For more information, refer to the Image Classifier documentation.
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
80/89
Image Classifier
Image Classifier
Image Classifier
Image classification is one of the most important applications of deep learning and Artificial Intelligence. Image classification refers to assigning labels to images based on certain characteristics or features present in them. The algorithm identifies these features and uses them to differentiate between different images and assign labels to them. This application uses TensorFlow Lite for Microcontrollers to run image classification machine learning models to classify hand gestures from image data captured from ArduCAM camera. The detection is visualized using the LED’s on the board and the classification results are written to the VCOM serial port. This sample application uses the Flatbuffer Converter Tool to add the .tflite file to the application binary.
Class Labels
rock: Images of a person’s hand making a <rock= gesture paper: Images of a person’s hand making a <paper= gesture scissors: Images of a person’s hand making a <scissors= gesture unknown: Random images not containing any of the above Following figure describes class labels with respect to hand pose.
Required Hardware and Setup
Silicon Labs EFR series boards BRD2601B or BRD2608A. Berg Strip Connectors with Jumper wires ( minimum 8 count) any one of following combination.
Male-Berg strip with female to female jumper wires. Female-Berg strip with male to female jumper wires. ArduCAM camera module.
Konfigurazzjoni tal-Brilli
Following table shows pin connections between ArduCAM and Development kit.
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
81/89
Image Classifier
ArduCAM Pin GND VCC CS MOSI MISO SCK SDA SCL
Board Expansion Header Pin 1 18 10 4 6 8 16 15
Softwer Meħtieġ
Simplicity studio v5 with simplicity_sdk aiml-extension
Dumping Images to PC
This application uses JLink to stream image data to a Python script located at aiml-extension/tools/image-visualization. To get started, refer to the instructions provided in the readme.md file. Once the application binary is flashed onto the development board, you can launch the visualization tool to view incoming image streams and optionally save them to your local PC.
Noti ta' Applikazzjoni
Camera Input: This application utilizes images captured using an ArduCAM camera. Lighting Conditions: The model was trained on well-lit images. To achieve optimal results, conduct experiments in good lighting. Adjust the SL_ML_IMAGE_MEAN_THRESHOLD parameter in the .slcp configuration file to set the minimum mean intensity required for image processing. Recommended Distance: Maintain approximately 0.5 meters between the camera and the subject’s hand during experimentation. Background Setup: Use a plain background (preferably white or black) to improve detection accuracy and consistency.
Convolutional Neural Networks
The type of machine learning model used in this application is Convolutional Neural Network (CNN).
A Convolutional Neural Network (ConvNet/CNN) is a Deep Learning algorithm which can take in an input image, assign importance (learnable weights and biases) to various aspects/objects in the image and be able to differentiate one from the other.
A typical CNN can be visualized as follows:
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
82/89
Image Classifier A typical CNN is comprised of multiple layers. A given layer is basically a mathematical operation that operates on multidimensional arrays (a.k.a tensors). The layers of a CNN can be split into two core phases: Feature Learning: This uses Convolutional layers to extract <features= from the input image Classification: This takes the flatten <feature vector= from the feature learning layers and uses <fully connected= layer(s) to make a prediction on which class the input image belongs
Deep Learning Pipeline
A deep learning pipeline typically consists of three primary stages: dataset collection, model training, and inference as follows.
Xi sample data used for training the model in this application is illustrated in the figure below.
Data Preprocessing
The preprocessing stage involves specific data normalization settings, managed by the ml_image_feature_generation component. samplewise_center = True samplewise_std_normalization = True
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
83/89
Image Classifier
norm_img = (img – mean(img)) / std(img) These settings normalize each input image individually using the formula. This helps to ensure the model is not as dependent on camera and lighting variations.
Dettalji tal-Mudell
The model summary presents detailed information about each layer along with the number of parameters involved. This breakdown outlines the architecture used to perform image classification task.
Mudell ta' Evalwazzjoni
The fundamental approach to model evaluation involves feeding test samples–new, unseen data not used during training–into the model and comparing its predictions against the actual expected values. If every prediction is correct, the model achieves 100% accuracy; each incorrect prediction lowers the overall accuracy.
The figure below illustrates key performance indicators (KPIs) achieved using the Rock-Paper-Scissors dataset, including:
Accuracy: Proportion of correct predictions over total predictions ROC Curve: Graphical representation of true positive rate vs. false positive rate Recall: Measure of the model’s ability to identify all relevant instances Precision: Proportion of true positives among all predicted positives
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
84/89
Image Classifier
Overall accuracy: 95.037% Class accuracies:
paper = 98.394% scissor = 97.500% rock = 92.476% unknown = 92.083% Average ROC AUC: 98.664% Class ROC AUC: paper = 99.461% unknown = 99.042% scissor = 98.554% rock = 97.600%
Copyright © 2025 Silicon Laboratories. Id-drittijiet kollha riżervati.
85/89
Suġġetti Addizzjonali
Suġġetti Addizzjonali
Third Party Tooling and Partner Solutions
Għodda
TensorFlow
The SiSDK supports TensorFlow Lite for Microcontrollers (TFLM) natively. The developer can create a quantized .tflite model file using the TensorFlow environment directly and integrate it into the GDSK. Getting Started
Developing a Model Using TensorFlow and Keras
Silicon Labs Machine Learning Toolkit (MLTK) (Deprecated)
The Machine Learning Toolkit (MLTK) was created for these reasons to help the Tensorflow developer. It is a set of python scripts designed to follow the typical machine learning workflow for Silicon Labs embedded devices.
Note: This package is made available as an open source, self-serve, community supported, reference package with a comprehensive set of online documentation. There are no Silicon Labs support services for this software at this time. These scripts are a reference implementations for the use case covered by the documented tutorials. Support for other use cases is the responsibility of the developer.
Getting Started Create a Keyword Spotting Model for an SiSDK example. (GitHub.io) – MLTK Tutorial
Integrating the Model
The trained model, whether using TensorFlow directly or the MLTK, is represented in a .tflite file. To add the .tflite file to your embedded application, see developing an inference application. There are several SiSDK examples that include machine learning and show how to run inference using pre-trained models. The pre-trained models can be replaced with a model
Dokumenti / Riżorsi
![]() |
Silicon Labs Brings AI and Machine Learning [pdfManwal tal-Utent Brings AI and Machine Learning, Brings AI, and Machine Learning, Machine Learning, Learning |
