सिलिकॉन लैब्स लेकर आया है AI और मशीन लर्निंग यूज़र मैनुअल

एआई और मशीन लर्निंग लाता है

विशेष विवरण:

  • उत्पाद का नाम: मशीन लर्निंग एक्सटेंशन SDK संस्करण 2.1.1
  • रिलीज़ की तारीख: 23 जुलाई, 2025
  • फ्रेमवर्क: माइक्रोकंट्रोलर्स के लिए टेंसरफ्लो लाइट (TFLM)
  • समर्थित डिवाइस: सीरीज़ 2 और SiWG917 डिवाइस

उत्पाद की जानकारी:

मशीन लर्निंग एक्सटेंशन SDK संस्करण 2.1.1 (जिसे
सिलिकॉन लैब्स एआई/एमएल) सिम्पलिसिटी एसडीके का एक विस्तार है जो
श्रृंखला 2 और SiWG917 उपकरणों पर AI/ML विकास को सक्षम बनाता है
माइक्रोकंट्रोलर्स फ्रेमवर्क के लिए टेन्सरफ्लो लाइट।

उपयोग निर्देश:

शुरू करना:

  1. सिम्पलिसिटी स्टूडियो डाउनलोड करें और इंस्टॉल करें।
  2. मशीन लर्निंग एक्सटेंशन SDK संस्करण 2.1.1 स्थापित करें.
  3. सेटअप करने के लिए मार्गदर्शन हेतु डेवलपर दस्तावेज़ देखें
    परियोजनाओं और एआई/एमएल मॉडल का उपयोग करना।

छवि वर्गीकरणकर्ता अनुप्रयोग:

SDK में एक इमेज क्लासिफायर (रॉक-पेपर-कैंची) शामिल है
xG24 और xG26 उपकरणों के लिए अनुप्रयोग। छवि का उपयोग करने के लिए
वर्गीकारक:

  1. दस्तावेज़ में दिए गए ट्यूटोरियल का पालन करें।
  2. सुनिश्चित करें कि आपकी परियोजना सेटिंग्स सही ढंग से कॉन्फ़िगर की गई हैं
    चयनित डिवाइस.

एपीआई परिवर्तन:

SDK मॉडल आह्वान और निष्पादन के लिए नए API प्रस्तुत करता है
SiWG917 चिप परिवार के लिए। इन API का उपयोग करने के लिए:

  1. नए API कॉल को शामिल करने के लिए अपना कोड अपडेट करें.
  2. विस्तृत जानकारी के लिए API दस्तावेज़ देखें
    इन API का उपयोग.

सामान्य प्रश्न:

प्रश्न: मशीन लर्निंग एक्सटेंशन किन उपकरणों को समर्थित करता है?
एसडीके संस्करण 2.1.1?

उत्तर: SDK AI/ML के लिए सीरीज 2 और SiWG917 उपकरणों का समर्थन करता है
विकास।

प्रश्न: संस्करण 2.1.1 में कौन सी प्रमुख विशेषताएं जोड़ी गई हैं?
एक्सटेंशन SDK?

उत्तर: इसमें जोड़ी गई मुख्य विशेषता एक नया इमेज क्लासिफायर है
(रॉक-पेपर-कैंची) xG24 और xG26 के लिए एप्लिकेशन और ट्यूटोरियल
उपकरण.

“`

यंत्र अधिगम
यंत्र अधिगम
मशीन लर्निंग के साथ विकास करना रिलीज़ नोट्स आरंभ करना
मशीन लर्निंग के साथ शुरुआत करना टेंसरफ्लो लाइट माइक्रो फ्रॉम स्क्रैच वॉयस कंट्रोल लाइट फ्रॉम स्क्रैच वॉयस कंट्रोल लाइट डेमो फंडामेंटल्स मशीन लर्निंग फंडामेंटल्स एमवीपी एक्सेलरेटर डेवलपर्स गाइड मशीन लर्निंग डेवलपर्स गाइड किसी नए या मौजूदा प्रोजेक्ट में मशीन लर्निंग जोड़ें .tflite को अपडेट या बदलें File एक मॉडल विकसित करना AI/ML एक्सटेंशन सेटअप फ्लैटबफर कनवर्टर टूल SiWx917 के लिए I2S कॉन्फ़िगरेशन मशीन लर्निंग API संदर्भ माइक्रोफ़ोन मशीन लर्निंग के लिए I2S ड्राइवर मॉडल विशिष्ट फ़ंक्शन मॉडल विशिष्ट चर और स्थिरांक ऑडियो फ़ीचर जनरेटर इमेज फ़ीचर जनरेटर TensorFlow Lite माइक्रो डीबग TensorFlow Lite माइक्रो इनिट मशीन लर्निंग API संदर्भ अतिरिक्त विषयampले एप्लीकेशन
ऊपरview इमेज क्लासिफायर तृतीय पक्ष टूलिंग और समाधान

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

1/89

मशीन लर्निंग के साथ विकास
मशीन लर्निंग के साथ विकास
सिलिकॉन लैब्स मशीन लर्निंग (AI/ML) के साथ विकास करना
मशीन लर्निंग, आर्टिफिशियल इंटेलिजेंस (एआई) का एक उपसमूह है जो सिस्टम को डेटा से सीखने और बिना किसी स्पष्ट प्रोग्रामिंग के अपने प्रदर्शन को बेहतर बनाने में सक्षम बनाता है। इसमें ऐसे एल्गोरिदम शामिल हैं जो पैटर्न की पहचान करते हैं और इनपुट डेटा के आधार पर निर्णय लेते हैं। डीप लर्निंग, मशीन लर्निंग की एक विशिष्ट शाखा है, जो जटिल पैटर्न को मॉडल करने और छवि तथा वाक् पहचान जैसे कार्यों में उच्च सटीकता प्राप्त करने के लिए कई परतों वाले न्यूरल नेटवर्क का उपयोग करती है। ये तकनीकें मिलकर अनुशंसा प्रणालियों से लेकर स्वचालित वाहनों तक, कई आधुनिक अनुप्रयोगों को शक्ति प्रदान करती हैं। व्यापक एआई क्षेत्र के एक भाग के रूप में, मशीन लर्निंग और डीप लर्निंग ऐसे सिस्टम बनाने के लिए महत्वपूर्ण हैं जो अनुकूलन कर सकें, तर्क कर सकें और बुद्धिमानी से कार्य कर सकें।

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

2/89

मशीन लर्निंग के साथ विकास

सिलिकॉन लैब्स वर्तमान में SiSDK के विस्तार के रूप में माइक्रोकंट्रोलर्स (TFLM) के लिए टेंसरफ्लो लाइट और संबंधित सॉफ्टवेयर का समर्थन करता है।

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

3/89

मशीन लर्निंग के साथ विकास
इन पृष्ठों की सामग्री उन लोगों के लिए है जो सिलिकॉन लैब्स तकनीक का उपयोग करके मशीन लर्निंग एप्लिकेशन विकसित करना चाहते हैं या पहले से ही विकसित कर रहे हैं। सिलिकॉन लैब्स मशीन लर्निंग उत्पाद जानकारी के लिए: silabs.com पर उत्पाद पृष्ठ देखें। मशीन लर्निंग की पृष्ठभूमि के लिए: मूल बातें अनुभाग एक अच्छी शुरुआत है। विकास शुरू करने के लिए: पूर्व के साथ काम शुरू करने के लिए आरंभ अनुभाग देखें।ample एप्लिकेशन। यदि आप पहले से ही डेवलपमेंट में हैं: डेवलपर गाइड देखें। यदि आप मशीन लर्निंग SDK संस्करण 1.3.x या उससे पहले का संस्करण इस्तेमाल कर रहे हैं: AI/ML SDK के v1.x से v2.x में बदलाव के लिए AI/ML एक्सटेंशन सेटअप गाइड देखें। पुराने संस्करण SiSDK के एक सॉफ़्टवेयर घटक के रूप में समर्थित थे, अब स्टैक को एक एक्सटेंशन में स्थानांतरित कर दिया गया है। सिलिकॉन लैब्स AI/ML एक्सटेंशन सोर्स कोड के लिए: GitHub पर AI/ML एक्सटेंशन लिंक देखें।

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

4/89

यंत्र अधिगम

यंत्र अधिगम

मशीन लर्निंग (सिलिकॉन लैब्स AI/ML) एक्सटेंशन SDK संस्करण 2.1.1 (23 जुलाई, 2025) - रिलीज़ नोट्स
सिम्पलिसिटी एसडीके संस्करण 2025.6.1 मशीन लर्निंग एक्सटेंशन, जिसे "सिलिकॉन लैब्स एआई/एमएल" भी कहा जाता है, सिम्पलिसिटी एसडीके के एक एक्सटेंशन के रूप में उपलब्ध है। यह टेन्सरफ्लो लाइट फॉर माइक्रोकंट्रोलर्स (टीएफएलएम) फ्रेमवर्क का उपयोग करके सीरीज़ 2 और SiWG917 उपकरणों पर एआई/एमएल विकास को सक्षम बनाता है। इसके पहले के संस्करणों के लिए यहां क्लिक करें।
सारांश जारी करें
मुख्य विशेषताएँ | API परिवर्तन | बग समाधान | चिप सक्षमता
प्रमुख विशेषताऐं
2.1.1 में जोड़ा गया। xG24 और xG26 उपकरणों के लिए एक नया इमेज क्लासिफायर (रॉक-पेपर-कैंची) एप्लिकेशन और ट्यूटोरियल जोड़ा गया। सिंपलिसिटी स्टूडियो में "कॉपी कंटेंट" सुविधा का उपयोग करके प्रोजेक्ट बनाते समय होने वाली त्रुटियों को ठीक किया गया।
2.1.0 में जोड़ा गया स्रोत कोड एक एक्सटेंशन में स्थानांतरित कर दिया गया है। AI/ML एक्सटेंशन अब सामान्य रूप से उपलब्ध (GA) है, इसे पहले अल्फ़ा बिल्ड के रूप में जारी किया गया था। सॉफ़्टवेयर अनुकूलन के माध्यम से SiWG917 चिप परिवार के लिए समर्थन जोड़ा गया है। मशीन लर्निंग (AI/ML) डेवलपर दस्तावेज़ों को पुनर्गठित किया गया है।
एपीआई परिवर्तन
2.1.1 में कोई परिवर्तन नहीं.
2.1.0 में बदलाव: SiWG917 चिप परिवार के लिए मॉडल इनवोकेशन और निष्पादन हेतु नए API. ML मॉडल्स के साथ इंटरैक्ट करने के लिए नए वैरिएबल्स.
कंप्यूटर प्रोग्राम या प्रणाली में बग को दूर करना
2.1.1 में ठीक किया गया सिम्पलिसिटी स्टूडियो में "कॉपी कंटेंट" सुविधा का उपयोग करके प्रोजेक्ट बनाते समय त्रुटियों को ठीक किया गया।
2.1.0 में ठीक किया गया जब मॉडल सही ढंग से लोड नहीं होता है तो माइक की मेमोरी लीक को ठीक किया गया।
चिप सक्षमता
2.1.1 में जोड़ा गया कोई नहीं.

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

5/89

यंत्र अधिगम
2.1.0 में जोड़ा गया EFR32xG2x SiWG917
प्रमुख विशेषताऐं
नई सुविधाएँ | संवर्द्धन | हटाई गई सुविधाएँ | अप्रचलित सुविधाएँ
नोट: किसी भी लागू एपीआई की सूची के लिए फ़ीचर मैट्रिक्स देखें, जैसेampप्रत्येक सुविधा के लिए लागू मॉडल, सॉफ्टवेयर वेरिएंट, मोड, हार्डवेयर और होस्ट इंटरफेस।
नई सुविधाओं
2.1.1 में xG24 और xG26 उपकरणों के लिए इमेज क्लासिफायर (रॉक-पेपर-कैंची) एप्लिकेशन और ट्यूटोरियल जोड़ा गया, इमेज वर्गीकरण देखें
2.1.0 में जोड़ा गया स्रोत कोड AI/ML एक्सटेंशन में स्थानांतरित कर दिया गया है। SiWG917 चिप परिवार के लिए ऑडियो अनुप्रयोग सक्षम हैं, ऑडियो क्लासिफायर और वॉइस कंट्रोल लाइट उदाहरण देखें।ampSiWG917 के लिए मॉडल अनुप्रयोग। SiWG917 चिप परिवार के मॉडल इनवोकेशन और निष्पादन के लिए नए API जोड़े गए हैं, विवरण के लिए API परिवर्तन देखें। मशीन लर्निंग (AI/ML) डेवलपर दस्तावेज़ों को पुनर्गठित और संशोधित किया गया है।ampदस्तावेज़ीकरण की सर्वोत्तम प्रथाओं के साथ इसे सामंजस्य बनाने के लिए पूरी तरह से संपादित करें, दस्तावेज़ीकरण में नए पथों की जांच करें।
संवर्द्धन
2.1.1 में जोड़ा गया सिम्पलिसिटी स्टूडियो में "कॉपी कंटेंट" सुविधा का उपयोग करके प्रोजेक्ट बनाते समय त्रुटियों को ठीक करें।
2.1.0 में जोड़ा गया इस रिलीज़ में केवल नई सुविधाएँ जोड़ी गई हैं। मौजूदा सुविधाओं में कोई सुधार नहीं किया गया है।
हटाई गई सुविधाएँ
कोई नहीं।
अस्वीकृत सुविधाएँ
कोई नहीं।
एपीआई परिवर्तन
नए API | संशोधित API | हटाए गए API | अप्रचलित API
नए एपीआई
2.1.1 में जोड़ा गया कोई नहीं.
2.1.0 में जोड़ा गया

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

6/89

यंत्र अधिगम
नया API हस्ताक्षर sl_status_t sl_ml_ _मॉडल_init() sl_status_t sl_ml_ _model_run() स्थिर TfliteMicroModel _मॉडल स्थिर sl_स्थिति_t _मॉडल_स्थिति uint8_t* _मॉडल_फ्लैटबफर स्थिर int _मॉडल_फ्लैटबफर_लंबाई
संशोधित API
कोई नहीं।
हटाए गए API
कोई नहीं।
अप्रचलित API
कोई नहीं।
कंप्यूटर प्रोग्राम या प्रणाली में बग को दूर करना
2.1.1 में ठीक किया गया

ID

मुदे का विवरण

1479968

सिम्पलिसिटी स्टूडियो में “कॉपी कंटेंट” सुविधा का उपयोग करके प्रोजेक्ट बनाते समय त्रुटियों को ठीक करें।

अप्रचलित API को इसके द्वारा प्रतिस्थापित किया गया (यदि कोई हो) कोई नहीं कोई नहीं कोई नहीं कोई नहीं कोई नहीं कोई नहीं

GitHub / Salesforce संदर्भ (यदि कोई हो) कोई नहीं

प्रभावित सॉफ़्टवेयर वेरिएंट, हार्डवेयर, मोड, होस्ट इंटरफ़ेस
मानक EFR32xG2x, SiWG917 SoC

2.1.0 में ठीक किया गया

ID

मुदे का विवरण

1452807

संसाधन सफ़ाई अनुपलब्ध होने के कारण sl_ml_audio_feature_generation_init() में मेमोरी लीक।

GitHub / Salesforce संदर्भ (यदि कोई हो) कोई नहीं

प्रभावित सॉफ़्टवेयर वेरिएंट, हार्डवेयर, मोड, होस्ट इंटरफ़ेस
मानक EFR32xG2x SoC

चिप सक्षमता

2.1.1 में जोड़ा गया कोई नहीं.
2.1.0 में जोड़ा गया

चिप परिवार चिप

ओपीएन / बोर्ड / ओपीएन संयोजन
OPN: EFR32xG2x, SiWG917x बोर्ड: BRD2601b, BRD2608a, BRD2605a, BRD2705a बाहरी होस्ट: N/A

समर्थित सॉफ़्टवेयर वेरिएंट (यदि लागू हो) मानक

समर्थित मोड

समर्थित होस्ट इंटरफेस

समाज

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

7/89

यंत्र अधिगम

आवेदन पूर्वampपरिवर्तन
नया पूर्वamples | संशोधित पूर्वamples | Ex हटाया गयाamples | अप्रचलित पूर्वampलेस
नया पूर्वampलेस
2.1.1 में जोड़ा गया

Example नाम विवरण

छवि वर्गीकरणकर्ता(पत्थर, कागज, कैंची)
readme.md देखें

यह एप्लिकेशन माइक्रोकंट्रोलर्स के लिए TensorFlow Lite का उपयोग करके इमेज क्लासिफिकेशन मशीन लर्निंग मॉडल चलाता है ताकि बाहरी कैमरे से कैप्चर किए गए इमेज डेटा से हाथ के हाव-भावों को वर्गीकृत किया जा सके। बोर्ड पर लगे एलईडी का उपयोग करके पहचान को विज़ुअलाइज़ किया जाता है और वर्गीकरण परिणाम VCOM सीरियल पोर्ट पर लिखे जाते हैं।

समर्थित सॉफ़्टवेयर वेरिएंट (यदि लागू हो) मानक

समर्थित मोड
समाज

समर्थित OPN / बोर्ड / OPN संयोजन
OPN: EFR32xG2x बोर्ड: BRD2601b, BRD2608a बाहरी होस्ट: N/A

समर्थित होस्ट इंटरफेस

2.1.0 में जोड़ा गया

Exampले नाम

विवरण

SiWG917 के लिए ऑडियो क्लासिफायर
readme.md देखें
SiWG917 के लिए वॉयस कंट्रोल लाइट

यह एप्लिकेशन माइक्रोकंट्रोलर्स के लिए TensorFlow Lite का उपयोग करके ऑडियो वर्गीकरण मशीन लर्निंग मॉडल चलाता है ताकि माइक्रोफ़ोन से रिकॉर्ड किए गए ऑडियो डेटा से शब्दों को वर्गीकृत किया जा सके। बोर्ड पर लगे एलईडी का उपयोग करके इस पहचान को विज़ुअलाइज़ किया जाता है और वर्गीकरण के परिणाम VCOM सीरियलपोर्ट में लिखे जाते हैं। यह एप्लिकेशन माइक्रोकंट्रोलर्स के लिए TensorFlow Lite का उपयोग करके माइक्रोफ़ोन पर रिकॉर्ड किए गए ऑडियो डेटा से बोले गए शब्दों "चालू" और "बंद" का पता लगाता है। पता लगाए गए कीवर्ड का उपयोग बोर्ड पर लगे एलईडी को नियंत्रित करने के लिए किया जाता है।

readme.md देखें

समर्थित सॉफ़्टवेयर वेरिएंट (यदि लागू हो) मानक
मानक

समर्थित मोड
समाज
समाज

समर्थित OPN / बोर्ड / OPN संयोजन
OPN: SiWG917x बोर्ड: BRD2605a बाहरी होस्ट: N/A
OPN: SiWG917x बोर्ड: BRD2605a बाहरी होस्ट: N/A

समर्थित होस्ट इंटरफेस

संशोधित पूर्वampलेस
कोई नहीं।
पूर्व निकाला गयाampलेस
कोई नहीं।
पदावनत पूर्वampलेस
कोई नहीं।

ज्ञात मुद्दे और सीमाएँ

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

8/89

यंत्र अधिगम

आईडी 1463269

समस्या या सीमा विवरण: SiWG917 की तुलना में, सीरीज़ 2 पर चलने पर ब्लिंक ऐप अलग तरह से काम करता है। SiWG917 पर ब्लिंक करते समय एलईडी की बेसलाइन ब्राइटनेस होती है, लेकिन सीरीज़ 2 पर यह पूरी तरह से बंद हो जाती है। ऐसा दोनों चिप फ़ैमिली पर अलग-अलग एलईडी ड्राइवर कार्यान्वयन के कारण होता है।

GitHub / Salesforce संदर्भ (यदि कोई हो) कोई नहीं

1463268 ऑडियो फीचर जनरेशन घटक SiWG917 के लिए None कॉन्फ़िगरेशन त्रुटि दिखाता है।

1464105

श्रृंखला 2 और SiWG917 चिप परिवारों पर मॉडल आह्वान और निष्पादन के लिए API कॉल अलग-अलग हैं।

कोई नहीं

समाधान (यदि कोई हो)

प्रभावित सॉफ़्टवेयर वेरिएंट, हार्डवेयर, मोड, होस्ट इंटरफ़ेस

अभी तक कोई समाधान लागू नहीं किया गया है। SiWG917 पर LED ड्राइवर के लिए सॉफ़्टवेयर PWM से हार्डवेयर PWM कार्यान्वयन में परिवर्तन के लिए समस्या की जाँच की जा रही है।
यह समस्या केवल दिखावटी है और भविष्य के रिलीज़ के लिए इसके समाधान पर विचार किया जा रहा है। यह समस्या सीरीज़ 2 परियोजनाओं को प्रभावित नहीं करती है।
श्रृंखला 2 का उपयोग करता है
sl_ml_model_init()
, और
sl_tflite_micro_ge t_interpreter()->I nvoke()
मॉडल आह्वान और निष्पादन के लिए क्रमशः, जबकि SiWG917 उपयोग करता है
एसएल_एमएल_ _मॉडल_init()
,
एसएल_एमएल_ _मॉडल_रन()
.

SiWG917M111MGTBA BRD2605a SoC
SiWG917M111MGTBA BRD2605a SoC
SiWG917M111MGTBA BRD2605a SoC

रिलीज़ परिवर्तनों का प्रभाव
प्रभाव कथन | प्रवासन मार्गदर्शिका
प्रभाव कथन
2.1.1 में जोड़ा गया कोई नहीं.

2.1.0 में जोड़ा गया

परिवर्तन
स्रोत कोड को AI/ML एक्सटेंशन में स्थानांतरित किया गया

प्रभाव
घटकों को “मशीन लर्निंग” से “सिलिकॉन लैब्स AI/ML v2.1.0 > मशीन लर्निंग” में स्थानांतरित किया गया

प्रभावित सॉफ़्टवेयर वेरिएंट यदि लागू हो तो मानक

प्रभावित मोड
समाज

प्रभावित ओपीएन / बोर्ड / ओपीएन संयोजन
OPN: EFR32xG2x, SiWG917x बोर्ड: BRD2601b, BRD2608a, BRD2605a, BRD2705a बाहरी होस्ट: N/A

प्रभावित होस्ट इंटरफेस

प्रवासन मार्गदर्शिका

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

9/89

यंत्र अधिगम

AI/ML एक्सटेंशन पर माइग्रेट करें

इस रिलीज का उपयोग करना
रिलीज़ में क्या है? | संगत सॉफ़्टवेयर | स्थापना और उपयोग | सहायता और प्रतिक्रिया
विज्ञप्ति में क्या है?
2.1.1 में जोड़ा गया इस पैच रिलीज़ में xG24 और xG26 डिवाइसों के लिए एक नया इमेज क्लासिफायर (रॉक-पेपर-कैंची) एप्लिकेशन और ट्यूटोरियल शामिल है, और सिंपलिसिटी स्टूडियो में "कॉपी कंटेंट" सुविधा का उपयोग करके प्रोजेक्ट बनाते समय त्रुटियों को ठीक करता है।

2.1.0 में जोड़ा गया
यह पहला संस्करण है जहाँ AI/ML सॉफ़्टवेयर को Simplicity SDK के विस्तार के रूप में प्रदान किया गया है। यह Tensorflow Lite for Microcontrollers (TFLM) फ्रेमवर्क का उपयोग करके सिलिकॉन लैब्स उपकरणों के सीरीज़ 2 और SiWG917 परिवार को सपोर्ट करता है। इस रिलीज़ की खासियत SDK में प्रदर्शन में सुधार है, जो SiWG917 चिप परिवार के लिए सपोर्ट लाता है, जिसका SoC आर्किटेक्चर सीरीज़ 2 उपकरणों की तुलना में काफी अलग है। SiWG917 एक उच्च-प्रदर्शन, कम-शक्ति वाला वाई-फ़ाई चिप है जो AI/ML अनुप्रयोगों के लिए आदर्श है। इसलिए, आपके AI/ML अनुप्रयोग अब क्लाउड-आधारित AI/ML अनुप्रयोगों और सेवाओं के लिए वाई-फ़ाई कनेक्टिविटी का लाभ उठा सकते हैं।
संगत सॉफ्टवेयर
2.1.1 में जोड़ा गया

सॉफ्टवेयर सॉफ्टवेयर डेवलपमेंट किट (SDK)

संगत संस्करण या वैरिएंट
सिम्पलिसिटी SDK: 2025.6.1 WiSeConnect SDK: 3.5.1

2.1.0 में जोड़ा गया
सॉफ्टवेयर सॉफ्टवेयर डेवलपमेंट किट (SDK)

संगत संस्करण या वैरिएंट
सिम्पलिसिटी SDK: 2025.6.1 WiSeConnect SDK: 3.5.1

स्थापना और उपयोग
2.1.1 में जोड़ा गया
इस रिलीज़ के साथ अपने मौजूदा सॉफ़्टवेयर को अपग्रेड करने के लिए, स्टूडियो इंस्टॉलेशन मैनेजर से Simplicity Studio को नवीनतम संस्करण में, SiSDK को v2025.6.1 में, WiSeConnect SDK को v3.5.1 में, और AI/ML एक्सटेंशन को v2.1.1 में अपडेट करें, या ऊपर दिए गए संगत सॉफ़्टवेयर अनुभाग में सूचीबद्ध संबंधित लिंक से SDK डाउनलोड करें। AI/ML एक्सटेंशन अपडेट करने के लिए, कृपया AI/ML एक्सटेंशन सेटअप गाइड देखें।

2.1.0 में जोड़ा गया
इस रिलीज़ के साथ अपने मौजूदा सॉफ़्टवेयर को अपग्रेड करने के लिए, स्टूडियो इंस्टॉलेशन मैनेजर से Simplicity Studio को नवीनतम संस्करण में, SiSDK को v2025.6.0 में, WiSeConnect SDK को v3.5.0 में, और AI/ML एक्सटेंशन को v2.1.0 में अपडेट करें, या ऊपर दिए गए संगत सॉफ़्टवेयर अनुभाग में सूचीबद्ध संबंधित लिंक से SDK डाउनलोड करें। AI/ML एक्सटेंशन अपडेट करने के लिए, कृपया AI/ML एक्सटेंशन सेटअप गाइड देखें।
अपना पहला डेमो चलाने के लिए, हमारा आरंभिक लेख देखें
अपना विकास कार्य शुरू करने के लिए, हमारी डेवलपर गाइड देखें
सुरक्षित वॉल्ट एकीकरण के बारे में जानकारी के लिए, सुरक्षित वॉल्ट देखें.
फाड़ दियाview सुरक्षा और सॉफ़्टवेयर सलाहकार सूचनाएं और अपनी अधिसूचना प्राथमिकताएं प्रबंधित करें:
1. https://community.silabs.com/ पर जाएं। 2.

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

10/89

यंत्र अधिगम
अपने खाते के क्रेडेंशियल्स के साथ लॉग इन करें। 3. अपने प्रो पर क्लिक करेंfile पृष्ठ के ऊपरी-दाएँ कोने में आइकन। 4. ड्रॉपडाउन मेनू से सूचनाएँ चुनें। 5. सूचना अनुभाग में, पुनः देखने के लिए मेरे उत्पाद सूचनाएँ टैब पर जाएँ।view ऐतिहासिक सुरक्षा और सॉफ्टवेयर सलाहकारी सूचनाएं 6. अपनी प्राथमिकताओं को प्रबंधित करने के लिए, आपको प्राप्त होने वाले उत्पाद अपडेट और सलाह को अनुकूलित करने के लिए सूचनाएं प्रबंधित करें टैब का उपयोग करें।
इस रिलीज़ में सॉफ़्टवेयर के बारे में अधिक जानने के लिए, हमारे ऑनलाइन दस्तावेज़ देखें
सहायता और प्रतिक्रिया
सिलिकॉन लैब्स सहायता से संपर्क करें। उत्तर पाने के लिए हमारे Ask AI टूल का उपयोग करने के लिए, इस पृष्ठ के शीर्ष पर स्थित खोज फ़ील्ड देखें।

नोट: Ask AI प्रायोगिक है।

हमारे डेवलपर समुदाय से सहायता प्राप्त करें.

फ़ीचर मैट्रिक्स
समर्थित सुविधाएँ | असमर्थित सुविधाएँ
समर्थित सुविधाएँ
2.1.1 में जोड़ा गया कोई नहीं.

2.1.0 में जोड़ा गया

फ़ीचर का नाम मॉडल विशिष्ट API

विवरण डिवाइस पर AI/ML मॉडल को लागू करने और निष्पादित करने के लिए मॉडल विशिष्ट API.

गुणवत्ता

संबंधित API नाम

प्रयोगात्मक

AI/ML API संदर्भ मार्गदर्शिका
एसएल_एमएल_ _मॉडल_i nit()
एसएल_एमएल_ _model_r अन()

समर्थित सॉफ़्टवेयर वेरिएंट, हार्डवेयर, मोड, होस्ट इंटरफ़ेस
मानक SiWG917 SoC

संबंधित पूर्वample नाम
SiWG917 के लिए ऑडियो क्लासिफायर SiWG917 के लिए वॉयस कंट्रोल लाइट

ऑडियो

ऑडियो अनुप्रयोग सक्षम हैं

सॉफ्टवेयर के माध्यम से SiWG917 के अनुप्रयोग

अनुकूलन

प्रयोगात्मक

मानक SiWG917 SoC

SiWG917 के लिए ऑडियो क्लासिफायर SiWG917 के लिए वॉयस कंट्रोल लाइट

असमर्थित विशेषताएं
2.1.1 में जोड़ा गया कोई नहीं.
2.1.0 में जोड़ा गया

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

11/89

यंत्र अधिगम
SiWG917 अंतर्निहित TensorFlow घटक का सीधे उपयोग नहीं करता है; इसके बजाय, कॉन्फ़िगरेशनकर्ताओं द्वारा नियंत्रित स्वचालित कोड जनरेशन के माध्यम से समर्थन प्रदान किया जाता है। श्रृंखला 2 डिवाइस नए सॉफ़्टवेयर अनुकूलन का समर्थन नहीं करते हैं, लेकिन अपनी वास्तुकला के कारण, वे अभी भी SiWG917 जितने ही कुशल हैं, यदि उससे अधिक नहीं।
SDK रिलीज़ और रखरखाव नीति
हमारी SDK रिलीज़ और रखरखाव नीति देखें.

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

12/89

शुरू करना

शुरू करना

मशीन लर्निंग के साथ शुरुआत करना

परिचय
माइक्रोकंट्रोलर्स एकीकरण के लिए सिलिकॉन लैब्स टेंसरफ्लो लाइट
सिलिकॉन लैब्स, सिम्पलिसिटी स्टूडियो SDK (SiSDK) के एक एक्सटेंशन के रूप में माइक्रोकंट्रोलर्स के लिए TensorFlow Lite (TFLM) के लिए मज़बूत समर्थन प्रदान करता है, जिससे डेवलपर्स को सिम्पलिसिटी स्टूडियो के लिए प्रोजेक्ट कॉन्फिगरेटर का उपयोग करके EFx32 और Si91x माइक्रोकंट्रोलर्स पर मशीन लर्निंग मॉडल तैनात करने के लिए लचीले विकल्प मिलते हैं। यह मार्गदर्शिका बताती है कि सिलिकॉन लैब्स के EFx32 और Si91x उपकरणों के उपयोग के लिए AIML एक्सटेंशन का उपयोग करके माइक्रोकंट्रोलर्स के लिए TensorFlow Lite को SiSDK के साथ कैसे एकीकृत किया जाता है।
माइक्रोकंट्रोलर्स के लिए TensorFlow Lite
TensorFlow एक व्यापक रूप से प्रयुक्त डीप लर्निंग फ्रेमवर्क है, जिसमें विभिन्न प्लेटफ़ॉर्म पर न्यूरल नेटवर्क विकसित करने और उन्हें क्रियान्वित करने की क्षमता है। TensorFlow Lite, मोबाइल और एम्बेडेड उपकरणों के लिए मशीन लर्निंग के लिए विशेष रूप से अनुकूलित उपकरणों का एक सेट प्रदान करता है।
माइक्रोकंट्रोलर्स के लिए TensorFlow Lite (TFLM) विशेष रूप से सीमित मेमोरी वाले एम्बेडेड वातावरण में मशीन लर्निंग मॉडल चलाने के लिए एक C++ लाइब्रेरी प्रदान करता है। सिलिकॉन लैब्स इस लाइब्रेरी के साथ संगत पूर्व-प्रशिक्षित मॉडल लोड करने और चलाने के लिए उपकरण और सहायता प्रदान करता है।
AIML एक्सटेंशन
सिलिकॉन लैब्स सिम्पलिसिटी स्टूडियो के लिए AI/ML एक्सटेंशन इंस्टॉल करना
AI/ML एक्सटेंशन इंस्टॉल करने के विस्तृत निर्देशों के लिए, AI/ML एक्सटेंशन इंस्टॉलेशन गाइड देखें। यह एक्सटेंशन डेवलपर्स को अपने सिलिकॉन लैब्स-आधारित प्रोजेक्ट्स में मशीन लर्निंग क्षमताओं को एकीकृत करने में सक्षम बनाता है।
मॉडल का प्रशिक्षण और परिमाणीकरण
सिलिकॉन लैब्स डिवाइस पर न्यूरल नेटवर्क इंफ़ेरेंस करने के लिए, सबसे पहले TFLite फ़्लैटबफ़र फ़ॉर्मेट में एक प्रशिक्षित मॉडल की आवश्यकता होती है। TensorFlow के अनुभवी डेवलपर्स के लिए दो दृष्टिकोण हैं:
TensorFlow का उपयोग करके न्यूरल नेटवर्क प्रशिक्षण के लिए प्रकाशित ट्यूटोरियल का पालन करें, जैसा कि मॉडल विकसित करना में बताया गया है। सिलिकॉन लैब्स AI/ML पार्टनर्स का उपयोग करें। अधिक जानकारी के लिए IoT पेज पर सिलिकॉन लैब्स मशीन लर्निंग के AI/ML पार्टनर्स सेक्शन देखें। सिलिकॉन लैब्स मशीन लर्निंग टूलकिट का उपयोग करें, जो एक पायथन संदर्भ पैकेज है जो सभी आवश्यक TensorFlow प्रशिक्षण चरणों को संयोजित और सरल बनाता है।
सिम्पलिसिटी स्टूडियो, SiSDK और AIML एक्सटेंशन का उपयोग करके एक अनुमान अनुप्रयोग विकसित करना
जब आपके पास प्रशिक्षित और परिमाणित TFLite मॉडल हो, तो अगला चरण सिलिकॉन लैब्स डिवाइस पर अनुमान चलाने के लिए TFLM लाइब्रेरीज़ को स्थापित करना है।
प्रोजेक्ट कॉन्फ़िगरेटर सेटअप
प्रोजेक्ट कॉन्फ़िगरेटर में सॉफ़्टवेयर घटकों के रूप में TFLM लाइब्रेरीज़ शामिल हैं। इन सॉफ़्टवेयर घटकों को किसी भी मौजूदा प्रोजेक्ट में जोड़ा जा सकता है। इनका वर्णन SDK घटक ओवर में किया गया है।viewकिसी भी मशीन लर्निंग परियोजना के लिए आवश्यक मुख्य घटक इस प्रकार हैं:
1. TensorFlow Lite Micro. यह मुख्य सॉफ़्टवेयर घटक है जो सभी TFLM निर्भरताओं को खींचता है। 2. एक समर्थित TFLM कर्नेल कार्यान्वयन। कर्नेल, निम्न-स्तरीय संचालन का एक विशिष्ट हार्डवेयर/प्लेटफ़ॉर्म कार्यान्वयन है जिसका उपयोग
TensorFlow. कर्नेल चयन किसी न्यूरल नेटवर्क के प्रदर्शन और गणना समय को काफ़ी हद तक बदल सकता है। डिफ़ॉल्ट रूप से, सबसे अच्छा

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

13/89

शुरू करना
दिए गए डिवाइस के लिए कर्नेल कार्यान्वयन स्वचालित रूप से चुना जाता है। 3. एक समर्थित TFLM डीबग लॉगर। प्रोजेक्ट कॉन्फ़िगरेटर डिफ़ॉल्ट रूप से लॉगर के I/O स्ट्रीम कार्यान्वयन का उपयोग करता है। अक्षम करने के लिए
लॉगिंग को पूरी तरह से अक्षम करने के लिए, डीबग लॉगिंग अक्षम घटक जोड़ें।
आवश्यक TFLM घटकों के अतिरिक्त, सेंसर डेटा प्राप्त करने और पूर्व-प्रसंस्करण के लिए सॉफ़्टवेयर घटकों को भी परियोजना में जोड़ा जा सकता है।ampऑडियो अनुप्रयोगों के लिए, सिलिकॉन लैब्स एक ऑडियो फ़ीचर जनरेटर घटक प्रदान करता है जिसमें शक्तिशाली डीएसपी सुविधाएँ शामिल हैं जो कच्चे ऑडियो डेटा से फ़ीचर्स को फ़िल्टर और एक्सट्रेक्ट करती हैं, जिसका उपयोग माइक्रोफ़ोन-आधारित अनुप्रयोगों के लिए फ्रंटएंड के रूप में किया जा सकता है। सिलिकॉन लैब्स द्वारा विकसित माइक्रोफ़ोन, एक्सेलेरोमीटर और अन्य सेंसर के लिए ड्राइवर, नेटवर्क को फीड करने के लिए सेंसर डेटा प्राप्त करने हेतु एक सरल इंटरफ़ेस प्रदान करते हैं।

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

14/89

टेन्सरफ्लो लाइट माइक्रो स्क्रैच से
टेन्सरफ्लो लाइट माइक्रो स्क्रैच से
सिलिकॉन लैब्स उपकरणों पर मशीन लर्निंग की शुरुआत
यह मार्गदर्शिका "आरंभिक मार्गदर्शिका" की सामग्री से परिचित होने की अपेक्षा करती है। यह TensorFlow API के साथ काम करने का विवरण प्रदान करती है, जो कि सिलिकॉन लैब्स द्वारा प्रदान किए गए स्वचालित आरंभीकरण के विकल्प के रूप में है, जैसा कि "नए प्रोजेक्ट में मशीन लर्निंग जोड़ने" पर मार्गदर्शिका में वर्णित है।
मॉडल समावेशन
प्रोजेक्ट कॉन्फ़िगरेशन में TensorFlow Lite माइक्रो घटक जोड़ने के बाद, अगला चरण मॉडल को लोड करना है file प्रोजेक्ट में। ऐसा करने के लिए, .tflite मॉडल को कॉपी करें file प्रोजेक्ट की config/tflite डायरेक्टरी में। प्रोजेक्ट कॉन्फ़िगरेटर एक टूल प्रदान करता है जो .tflite को स्वचालित रूप से files को sl_tflite_micro_model स्रोत और हेडर में बदलें fileइस टूल का पूरा दस्तावेज़ Flatbuffer Converter Tool पर उपलब्ध है। इस चरण को मैन्युअल रूप से करने के लिए, xxd जैसे टूल का उपयोग करके .tflite से एक C ऐरे बनाया जा सकता है।
TFLM आरंभीकरण और अनुमान
TensorFlow APIs को इंस्टैंसिएट करने और उनका उपयोग करने के लिए, किसी प्रोजेक्ट की एप्लिकेशन लेयर में TFLM कार्यक्षमता जोड़ने हेतु नीचे दिए गए चरणों का पालन करें। यह मार्गदर्शिका TFLM आरंभ करने की मार्गदर्शिका का बारीकी से अनुसरण करती है और इसे सिलिकॉन लैब्स की परियोजनाओं के साथ उपयोग के लिए अनुकूलित किया गया है। TensorFlow द्वारा उपयोग किए जाने वाले ऑपरेशनों के संबंध में विशेष ध्यान देने की आवश्यकता है। ऑपरेशन, न्यूरल नेटवर्क में एक लेयर द्वारा निष्पादित विशिष्ट प्रकार की गणनाएँ होती हैं। सभी ऑपरेशन एक साथ एक प्रोजेक्ट में शामिल किए जा सकते हैं, लेकिन ऐसा करने से बाइनरी साइज़ में नाटकीय रूप से वृद्धि हो सकती है (>100kB)। अधिक कुशल विकल्प केवल एक विशिष्ट मॉडल को चलाने के लिए आवश्यक ऑपरेशनों को शामिल करना है। दोनों विकल्पों का वर्णन नीचे दिए गए चरणों में किया गया है।
0. TensorFlow Lite Micro घटक द्वारा प्रदान की गई स्वचालित आरंभीकरण सुविधा को अक्षम करें
TensorFlow को मैन्युअल रूप से सेट अप करने के लिए, सबसे पहले TensorFlow Lite Micro घटक ( sl_tflite_micro_config.h ) के लिए कॉन्फ़िगरेशन हेडर में मॉडल को स्वचालित रूप से आरंभ करें को अक्षम करके मॉडल के स्वचालित आरंभीकरण को अक्षम करें।

1. लाइब्रेरी हेडर शामिल करें
यदि कस्टम, सीमित परिचालन सेट का उपयोग किया जा रहा है (अनुशंसित):
कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

15/89

टेन्सरफ्लो लाइट माइक्रो स्क्रैच से
#include “tensorflow/lite/micro/micro_mutable_op_resolver.h” #include “tensorflow/lite/micro/tflite_bridge/micro_error_reporter.h” #include “tensorflow/lite/micro/micro_interpreter.h” #include “tensorflow/lite/schema/schema_generated.h” #include “tensorflow/lite/version.h”
यदि सभी ऑपरेशनों का उपयोग किया जाए:
#include “tensorflow/lite/micro/all_ops_resolver.h” #include “tensorflow/lite/micro/micro_error_reporter.h” #include “tensorflow/lite/micro/micro_interpreter.h” #include “tensorflow/lite/schema/schema_generated.h” #include “tensorflow/lite/version.h”
2. मॉडल हेडर शामिल करें
चूँकि autogen/ फ़ोल्डर हमेशा प्रोजेक्ट शामिल पथों में शामिल होता है, इसलिए आयातित मॉडल को सामान्यतः किसी भी प्रोजेक्ट स्रोत में शामिल किया जा सकता है file साथ:
#शामिल करें “sl_tflite_micro_model.h”
यदि फ्लैटबफर कनवर्टर टूल का उपयोग नहीं कर रहे हैं, तो शामिल करें file इसके बजाय आपकी मॉडल परिभाषा शामिल करें.
3. स्मृति क्षेत्र को परिभाषित करें
TensorFlow को इनपुट, आउटपुट और इंटरमीडिएट ऐरे के रनटाइम स्टोरेज के लिए एक मेमोरी एरिना की आवश्यकता होती है। यह एरिना स्टेटिक रूप से आवंटित होना चाहिए, और एरिना का आकार इस्तेमाल किए गए मॉडल पर निर्भर करता है। प्रोटोटाइपिंग के दौरान बड़े एरिना आकार से शुरुआत करने की सलाह दी जाती है।
constexpr int tensor_arena_size = 10 * 1024; uint8_t tensor_arena[tensor_arena_size];
नोट: प्रोटोटाइपिंग के बाद, मेमोरी एरीना आकार को इस्तेमाल किए गए मॉडल के अनुसार मैन्युअल रूप से समायोजित करने की सलाह दी जाती है। मॉडल के अंतिम रूप देने के बाद, बड़े एरीना आकार से शुरुआत करें और इसे तब तक धीरे-धीरे कम करते रहें जब तक कि इंटरप्रेटर आवंटन (नीचे वर्णित) विफल न हो जाए।
4. लॉगिंग सेट अप करें
डीबग लॉगिंग अक्षम घटक का उपयोग किए जाने पर भी यह किया जाना चाहिए। इसे स्थिर रूप से इंस्टेंटिएट करने और app.cpp में app_init() अनुक्रम के दौरान लॉगर इनिट फ़ंक्शन को कॉल करने की अनुशंसा की जाती है।
स्थिर tflite::MicroErrorReporter micro_error_reporter; tflite::ErrorReporter* error_reporter = &माइक्रो_त्रुटि_रिपोर्टर;
5. मॉडल लोड करें
app_init() अनुक्रम के दौरान आगे बढ़ते हुए, अगला चरण मॉडल को tflite में लोड करना है:

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

16/89

टेन्सरफ्लो लाइट माइक्रो स्क्रैच से
const tflite::Model* मॉडल = ::tflite::GetModel(sl_tflite_model_array); यदि (मॉडल->संस्करण() != TFLITE_SCHEMA_VERSION) {
TF_LITE_REPORT_ERROR(error_reporter, “प्रदान किया गया मॉडल स्कीमा संस्करण %d के बराबर नहीं है” “समर्थित संस्करण %dn के बराबर नहीं है”, मॉडल->संस्करण(), TFLITE_SCHEMA_VERSION);
}
6. ऑपरेशन रिज़ॉल्वर को इंस्टैंसिएट करें
यदि सभी ऑपरेशनों का उपयोग किया जाए, तो यह बहुत सरल है। app_init() के दौरान, रिज़ॉल्वर को स्टेटिकली इंस्टैंशिएट करें:
स्थिर tflite::AllOpsResolver रिज़ॉल्वर;
नोट: सभी ऑपरेशन लोड करने से बाइनरी साइज़ में काफ़ी वृद्धि होगी। ऑपरेशन के कस्टम सेट का इस्तेमाल करने की सलाह दी जाती है।
यदि ऑपरेशनों के एक कस्टम सेट का उपयोग किया जा रहा है, तो एक परिवर्तनशील ऑप्स रिज़ॉल्वर को कॉन्फ़िगर और आरंभ किया जाना चाहिए। यह मॉडल और एप्लिकेशन के आधार पर अलग-अलग होगा। किसी दिए गए .tflite में उपयोग किए जाने वाले ऑपरेशनों को निर्धारित करने के लिए fileनेटवर्क को देखने तथा यह जांचने के लिए कि कौन से ऑपरेशन उपयोग में हैं, नेट्रॉन जैसे तृतीय पक्ष टूल का उपयोग किया जा सकता है।

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

17/89

टेन्सरफ्लो लाइट माइक्रो स्क्रैच से
भूतपूर्वampनीचे दिया गया le TensorFlow hello_world उदाहरण के लिए आवश्यक न्यूनतम ऑपरेटरों को लोड करता हैample मॉडल। जैसा कि नेट्रॉन विज़ुअलाइज़ेशन में दिखाया गया है, इसके लिए केवल पूरी तरह से जुड़ी हुई परतों की आवश्यकता होती है:
#परिभाषित करें NUM_OPS 1
स्थिर tflite::MicroMutableOpResolver micro_op_resolver; यदि (micro_op_resolver.AddFullyConnected() != kTfLiteOk) {
वापस करना; }
यदि फ्लैटबफर कनवर्टर टूल का उपयोग किया जाता है, तो यह एक C प्रीप्रोसेसर मैक्रो उत्पन्न करता है जो स्वचालित रूप से फ्लैटबफर के लिए इष्टतम tflite::MicroMutableOpResolver सेट करता है:
#शामिल करें “sl_tflite_micro_opcode_resolver.h”
SL_TFLITE_MICRO_OPCODE_RESOLVER(माइक्रो_ऑप_रिसॉल्वर, त्रुटि_रिपोर्टर);
7. इंटरप्रेटर को प्रारंभ करें
app_init() के दौरान अंतिम चरण एक इंटरप्रिटर को इंस्टैंसिएट करना और इंटरप्रिटर के उपयोग के लिए मेमोरी क्षेत्र में बफ़र्स आवंटित करना है:
// स्थैतिक घोषणा tflite::MicroInterpreter* इंटरप्रेटर = nullptr;
// app_init में आरंभीकरण tflite::MicroInterpreter interpreter(model, micro_op_resolver, tensor_arena,
tensor_arena_size, error_reporter); इंटरप्रेटर = &interpreter_struct; TfLiteStatus allocate_status = इंटरप्रेटर.AllocateTensors(); यदि (allocate_status != kTfLiteOk) {
TF_LITE_REPORT_ERROR(error_reporter, “AllocateTensors() विफल”); return; }
यदि एरीना मॉडल द्वारा आवश्यक सभी ऑपरेशनों और बफ़र्स को समायोजित करने के लिए बहुत छोटा है, तो आवंटन विफल हो जाएगा। समस्या को हल करने के लिए tensor_arena_size को तदनुसार समायोजित करें।
8. मॉडल चलाएँ
बेयर मेटल एप्लिकेशन में डिफ़ॉल्ट व्यवहार के लिए, मानक इवेंट लूप के दौरान आवधिक अनुमान लगाने के लिए app.cpp में app_process_action() के दौरान मॉडल चलाने की अनुशंसा की जाती है। मॉडल चलाने में तीन चरण शामिल हैं।tagतों:
1. सेंसर डेटा को पूर्व-संसाधित किया जाता है (यदि आवश्यक हो) और फिर उसे इंटरप्रेटर को इनपुट के रूप में प्रदान किया जाता है।
TfLiteTensor* input = interpreter.input(0); // मॉडल के इनपुट टेंसर में 0.0 संग्रहीत करता है input->data.f[0] = 0.;
आने वाले सेंसर डेटा के आकार का मॉडल द्वारा अपेक्षित आकार से मिलान करना महत्वपूर्ण है। वैकल्पिक रूप से, इनपुट स्ट्रक्चर में परिभाषित गुणों की जाँच करके इसकी जाँच की जा सकती है। एक उदाहरणamphello_world उदाहरण के लिए इसका leampले नीचे दिखाया गया है:
TfLiteTensor* इनपुट = इंटरप्रेटर->इनपुट(0); यदि ((इनपुट->डिम्स->आकार != 1) || (इनपुट->प्रकार != kTfLiteFloat32)) {
TF_LITE_REPORT_ERROR(error_reporter, “मॉडल में ख़राब इनपुट टेंसर पैरामीटर”);
वापस करना; }
2. इसके बाद मॉडल की सभी परतों को चलाने के लिए इंटरप्रेटर को बुलाया जाता है।

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

18/89

टेन्सरफ्लो लाइट माइक्रो स्क्रैच से
TfLiteStatus invoke_status = इंटरप्रेटर->Invoke(); यदि (invoke_status != kTfLiteOk) {
TF_LITE_REPORT_ERROR(error_reporter, “x_val पर आह्वान विफल: %fn”, static_cast (x_वैल));
वापस करना; }
3. आउटपुट पूर्वानुमान को इंटरप्रेटर से पढ़ा जाता है।
TfLiteTensor* output = interpreter->output(0); // टेंसर से आउटपुट मान प्राप्त करें float value = output->data.f[0];
इस बिंदु पर, आउटपुट पूर्वानुमान के आधार पर एप्लिकेशन-निर्भर व्यवहार निष्पादित किया जाना चाहिए। एप्लिकेशन app_process_action() के प्रत्येक पुनरावृत्ति पर अनुमान चलाएगा।
पूर्ण कोड स्निपेट
उपरोक्त चरणों का पालन करने और परिवर्तनीय ऑप्स रिज़ॉल्वर का उपयोग करने का चयन करने के बाद, परिणामी app.cpp अब निम्नानुसार दिखाई देता है:

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

19/89

टेन्सरफ्लो लाइट माइक्रो स्क्रैच से
#include “tensorflow/lite/micro/micro_mutable_op_resolver.h” #include “tensorflow/lite/micro/micro_error_reporter.h” #include “tensorflow/lite/micro/micro_interpreter.h” #include “tensorflow/lite/schema/schema_generated.h” #include “tensorflow/lite/version.h”
#शामिल करें “sl_tflite_micro_model.h”
#परिभाषित करें NUM_OPS 1
constexpr int tensor_arena_size = 10 * 1024; uint8_t tensor_arena[tensor_arena_size];
tflite::MicroInterpreter* इंटरप्रेटर = nullptr;
/*******************************************************************************//** * एप्लिकेशन प्रारंभ करें। *******************************************************************************/
शून्य ऐप_init(शून्य) {
स्थिर tflite::MicroErrorReporter micro_error_reporter; tflite::ErrorReporter* error_reporter = µ_error_reporter;
const tflite::Model* मॉडल = ::tflite::GetModel(g_model); यदि (मॉडल->संस्करण() != TFLITE_SCHEMA_VERSION) {
TF_LITE_REPORT_ERROR(error_reporter, “प्रदान किया गया मॉडल स्कीमा संस्करण %d के बराबर नहीं है” “समर्थित संस्करण %dn के बराबर नहीं है”, मॉडल->संस्करण(), TFLITE_SCHEMA_VERSION);
}
स्थिर tflite::MicroMutableOpResolver micro_op_resolver; यदि (micro_op_resolver.AddFullyConnected() != kTfLiteOk) {
वापस करना; }
स्थिर tflite::MicroInterpreter interpreter_struct(मॉडल, micro_op_resolver, tensor_arena, tensor_arena_size, error_reporter);
इंटरप्रेटर = &interpreter_struct; TfLiteStatus आवंटित_स्थिति = इंटरप्रेटर.AllocateTensors(); यदि (आवंटित_स्थिति != kTfLiteOk) {
TF_LITE_REPORT_ERROR(error_reporter, “AllocateTensors() विफल”); return; } }
/*******************************************************************************//** * ऐप टिकिंग फ़ंक्शन. *******************************************************************************/
शून्य ऐप_प्रक्रिया_क्रिया(शून्य) {
// मॉडल के इनपुट टेंसर में 0.0 संग्रहीत करता है TfLiteTensor* input = interpreter->input(0); input->data.f[0] = 0.;
TfLiteStatus invoke_status = इंटरप्रेटर->Invoke(); यदि (invoke_status != kTfLiteOk) {
TF_LITE_REPORT_ERROR(error_reporter, “x_val पर आह्वान विफल: %fn”, static_cast (x_वैल));
वापस करना; }
TfLiteTensor* आउटपुट = इंटरप्रेटर->आउटपुट(0); फ्लोट मान = आउटपुट->डेटा.f[0]; }
कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

20/89

टेन्सरफ्लो लाइट माइक्रो स्क्रैच से
Exampलेस
जैसा कि एस में वर्णित हैampआवेदन समाप्तview, पूर्वampTensorFlow टीम द्वारा विकसित les hello_world उदाहरण का प्रदर्शन करते हैंampइस गाइड में वर्णित है, साथ ही एक सरल भाषण पहचान उदाहरण भीampमाइक्रो_स्पीच, सिम्पलिसिटी SDK में शामिल हैं। ध्यान दें कि माइक्रो_स्पीच उदाहरणampयह केवल आवश्यक कार्यों को लोड करने के लिए MicroMutableOpResolver के उपयोग को प्रदर्शित करता है।

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

21/89

स्क्रैच से वॉयस कंट्रोल लाइट
स्क्रैच से वॉयस कंट्रोल लाइट
स्क्रैच से एक वॉयस-नियंत्रित लाइट एमएल एप्लिकेशन बनाने के लिए अंतिम चरण
यह मार्गदर्शिका EFR32xG24 डेवलपमेंट किट पर TensorFlow Lite Micro (TFLM) का उपयोग करके एक ध्वनि-नियंत्रित प्रकाश अनुप्रयोग बनाने की प्रक्रिया का विवरण देती है। यह मार्गदर्शिकाample "चालू" और "बंद" कीवर्ड का पता लगाने के लिए keyword_spotting_on_off_v3.tflite मॉडल (अनुशंसित) का उपयोग करता है। मॉडल निर्माण के बारे में अधिक जानकारी के लिए, MLTK ट्यूटोरियल देखें।
हार्डवेयर: EFR32xG24 डेव किट बोर्ड (BRD2601B Rev A01) सॉफ्टवेयर: सिम्पलिसिटी स्टूडियो (SiSDK 2024.12 या बाद का संस्करण)
1. AI/ML एक्सटेंशन इंस्टॉल करें
1. शीर्ष पट्टी पर इंस्टॉल पर क्लिक करें।
2. स्थापित पैकेज प्रबंधित करें पर क्लिक करें।
3. SDK के अंतर्गत, AI/ML एक्सटेंशन का नवीनतम संस्करण स्थापित करें (SiSDK 2024.12 के बाद से उपलब्ध)।

2. एक नई सादगी परियोजना शुरू करें
1. से File मेनू में, नया > सिलिकॉन लैब्स प्रोजेक्ट विज़ार्ड चुनें।
कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

22/89

स्क्रैच से वॉयस कंट्रोल लाइट
2. लक्ष्य बोर्ड (EFR32xG24 डेवलपमेंट किट), SDK (Simplicity SDK v2024.12.0 या बाद का संस्करण), और IDE/टूलचेन (जैसे, GNU ARM v12.2.1) चुनें। अगला क्लिक करें।

3. खाली C++ प्रोजेक्ट चुनें। अगला क्लिक करें। 4. अपने प्रोजेक्ट को एक नाम दें और समाप्त क्लिक करें।
कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

23/89

स्क्रैच से वॉयस कंट्रोल लाइट

3. मशीन लर्निंग सॉफ्टवेयर घटक जोड़ें
1. अपना प्रोजेक्ट खोलें file (.slcp एक्सटेंशन वाला).
2. सॉफ़्टवेयर कंपोनेंट्स में, "aiml" खोजें। 3. Enable Extension पर क्लिक करके AI/ML एक्सटेंशन को सक्षम करें। 4. AI/ML >> Machine Learning >> TensorFlow को विस्तृत करें। TensorFlow Lite Micro चुनें और Install पर क्लिक करें। 5. आपको अतिरिक्त कंपोनेंट्स चुनने के लिए कहा जाएगा:
कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

24/89

स्क्रैच से वॉयस कंट्रोल लाइट
डीबग लॉगिंग: IO स्ट्रीम का उपयोग करके डीबग लॉगिंग चुनें (यदि आवश्यक हो) या डीबग लॉगिंग अक्षम करें। इंस्टॉल पर क्लिक करें। कर्नेल: MVPv1 त्वरित कर्नेल चुनें। इंस्टॉल पर क्लिक करें।

4. TFLM घटक को कॉन्फ़िगर करें
1. TensorFlow Lite माइक्रो सॉफ्टवेयर घटक में कॉन्फ़िगर पर क्लिक करें।
2. एरेना का आकार निर्धारित करें। इसके लिएample में, "-1" दर्ज करें। यह सिस्टम को रनटाइम पर इष्टतम क्षेत्र आकार को गतिशील रूप से निर्धारित करने के लिए कहता है।

5. मॉडल को शामिल करें और परिवर्तित करें
1. अपने प्रोजेक्ट की कॉन्फ़िगरेशन डायरेक्टरी के अंदर एक tflite डायरेक्टरी बनाएँ (वैकल्पिक लेकिन अनुशंसित)। 2. कीवर्ड_spotting_on_off_v2.tflite को ड्रैग और ड्रॉप करें। file config/tflite निर्देशिका में (या यदि आप चाहें तो सीधे config में)
उपनिर्देशिका बनाना छोड़ दिया गया है)। 3. फ्रेमवर्क स्वचालित रूप से .tflite को परिवर्तित कर देगा file एक सी सरणी (ऑटोजन निर्देशिका में sl_tflite_micro_model.c) में।
TFLM इंटरप्रेटर भी स्वचालित रूप से आरंभ हो जाता है।

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

25/89

स्क्रैच से वॉयस कंट्रोल लाइट
6. प्रोfile मॉडल (वैकल्पिक)
मॉडल प्रोफाइलिंग अनुकूलन के लिए मददगार हो सकती है। मॉडल के प्रदर्शन का विश्लेषण करने के इच्छुक उन्नत उपयोगकर्ताओं के लिए, MLTK मॉडल प्रोfiler उपयोगिता का उपयोग किया जा सकता है। इस बुनियादी कार्य के लिए यह अनिवार्य नहीं है।ampले.
7. मॉडल चलाएँ
1. TensorFlow Init API शामिल करें: TFLM इंटरप्रेटर को आरंभ करने के लिए आवश्यक कोड जोड़ें। 2. इनपुट डेटा प्रदान करें:
इनपुट टेंसर के लिए एक पॉइंटर प्राप्त करें: TfLiteTensor* input = sl_tflite_micro_get_input_tensor(); . अपना इनपुट डेटा (माइक्रोफ़ोन ऑडियो को int8 में क्वांटाइज़ किया गया) इनपुट टेंसर में लोड करें: input->data.int8f[0] = ; (पूर्व देखेंampऑडियो फ़ीचर जेनरेशन के लिए le कोड)। 3. इन्फ़रेंस चलाएँ: इंटरप्रेटर को इनवोक करें: TfLiteStatus invoke_status = sl_tflite_micro_get_interpreter()->Invoke(); त्रुटियों की जाँच करें: if (invoke_status != kTfLiteOk) {
TF_LITE_REPORT_ERROR(sl_tflite_micro_get_error_reporter(), “मॉडल में ख़राब इनपुट टेंसर पैरामीटर”); }
4. आउटपुट पढ़ें: आउटपुट टेंसर के लिए एक पॉइंटर प्राप्त करें: TfLiteTensor* output = sl_tflite_micro_get_output_tensor(); आउटपुट डेटा तक पहुँचें: int8_t value = output->data.int8_tf[0];
8. पोस्ट-प्रोसेसिंग लागू करें
1. एक एल्गोरिथ्म विकसित करें: मॉडल के आउटपुट (जैसे, int8_t मान) की व्याख्या करने के लिए एक एल्गोरिथ्म बनाएं और निर्धारित करें कि "चालू" या "बंद" बोला गया था।
2. ट्रिगर इवेंट: पोस्ट-प्रोसेस्ड आउटपुट के आधार पर, एलईडी को नियंत्रित करने जैसी ट्रिगर क्रियाएँ। voice_control_light.cc , recognize_commands.cc , और recognize_commands.h देखें। fileaiml-एक्सटेंशन ex में sampइस तर्क को लागू करने के लिए मार्गदर्शन हेतु, जिसमें एलईडी नियंत्रण और कमांड पहचान शामिल है, कृपया देखें। आपको अपने प्रोजेक्ट में माइक्रोफ़ोन, ऑडियो प्रोसेसिंग और एलईडी नियंत्रण के लिए घटक जोड़ने होंगे।

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

26/89

वॉयस कंट्रोल लाइट डेमो
वॉयस कंट्रोल लाइट डेमो
वॉयस-कंट्रोल लाइट डेमो – त्वरित आरंभ मार्गदर्शिका
यह गाइड प्री-बिल्ट बाइनरी का उपयोग करके वॉयस-कंट्रोल लाइट एप्लिकेशन को जल्दी से प्रदर्शित करने के लिए निर्देश प्रदान करता है। यह डेमो आपको माइक्रोफ़ोन में “ऑन” या “ऑफ़” बोलकर EFR32xG24 डेव किट (BRD2601B Rev A01) पर एक एलईडी को नियंत्रित करने की अनुमति देता है।
हार्डवेयर: EFR32xG24 डेव किट बोर्ड (BRD2601B Rev A01) सॉफ्टवेयर: सिम्पलिसिटी स्टूडियो (SiSDK 2024.12 या बाद का संस्करण)
कदम
1. सिंपलिसिटी स्टूडियो खोलें: सिंपलिसिटी स्टूडियो लॉन्च करें (ऊपरी दाएँ कोने में रॉकेट बटन का उपयोग करके)। 2. अपना डिवाइस कनेक्ट करें: अपने EFR32xG24 डेव किट को अपने कंप्यूटर से कनेक्ट करें। डिवाइस द्वारा पहचाने जाने के लिए 5-10 सेकंड प्रतीक्षा करें।
सिंपलिसिटी स्टूडियो। समस्या निवारण: यदि आपका डिवाइस पहचाना नहीं गया है, तो डीबग एडाप्टर उप-विंडो (आमतौर पर नीचे बाईं ओर स्थित) में "रिफ्रेश" बटन पर क्लिक करें।
3. अपना डिवाइस चुनें: कनेक्टेड डिवाइस ड्रॉपडाउन से अपना कनेक्टेड डिवाइस चुनें और स्टार्ट पर क्लिक करें। 4. डेमो पर जाएँ: Ex पर जाएँampप्रोजेक्ट्स और डेमो। बाएँ हाथ के संदर्भ मेनू में, क्षमता तक स्क्रॉल करें और चुनें
मशीन लर्निंग। 5. डेमो चलाएँ: वॉइस कंट्रोल लाइट डेमो ढूँढ़ें और "रन" पर क्लिक करें। इससे आपके बोर्ड पर पहले से बनी बाइनरी फ़्लैश हो जाएगी।

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

27/89

बुनियादी बातों
बुनियादी बातों
मशीन लर्निंग की बुनियादी बातें
माइक्रोकंट्रोलर्स के लिए TensorFlow Lite एक ऐसा फ्रेमवर्क है जो माइक्रोकंट्रोलर्स पर न्यूरल नेटवर्क इंफ़ेरेंस चलाने के लिए उपकरणों का एक सेट प्रदान करता है। इसमें कर्नेल ऑपरेटरों का एक विस्तृत चयन शामिल है जो 8-बिट पूर्णांक क्वांटाइज़्ड नेटवर्क के लिए अच्छा समर्थन प्रदान करता है। यह फ्रेमवर्क मॉडल इंफ़ेरेंस तक सीमित है और प्रशिक्षण का समर्थन नहीं करता है। न्यूरल नेटवर्क को प्रशिक्षित करने के तरीके के बारे में जानकारी के लिए, सिलिकॉन लैब्स मशीन लर्निंग टूलकिट (MLTK) देखें।
सिलिकॉन लैब्स माइक्रोकंट्रोलर्स के लिए टेंसरफ्लो लाइट का सिंपलिसिटी SDK के साथ एकीकरण प्रदान करता है। अपने प्रोजेक्ट में मशीन लर्निंग का उपयोग कैसे करें, इसके चरण-दर-चरण निर्देशों के लिए आरंभिक मार्गदर्शिकाएँ देखें।
SDK घटक समाप्तview
माइक्रोकंट्रोलर्स के लिए TensorFlow Lite का उपयोग करने के लिए आवश्यक सॉफ्टवेयर घटकों को Simplicity Studio प्रोजेक्ट कॉन्फ़िगरेटर में सॉफ्टवेयर घटक ब्राउज़र UI में मशीन लर्निंग > TensorFlow के अंतर्गत पाया जा सकता है।
TensorFlow लाइट माइक्रो
इस घटक में माइक्रोकंट्रोलर्स के लिए संपूर्ण TensorFlow Lite फ्रेमवर्क शामिल है, और डिफ़ॉल्ट रूप से प्रोजेक्ट के लिए चुने गए डिवाइस के लिए कर्नेल के सबसे इष्टतम कार्यान्वयन को स्वचालित रूप से खींच लेता है। TensorFlow Lite Micro का उपयोग करने के लिए, केवल इसी घटक को स्पष्ट रूप से स्थापित करने की आवश्यकता है। हालाँकि, यदि वांछित हो, तो विभिन्न कर्नेल कार्यान्वयनों को मैन्युअल रूप से स्थापित करना संभव है, उदाहरण के लिए, अनुमान प्रदर्शन या कोड आकार की तुलना करने के लिए, और एक अलग डीबग लॉगिंग कार्यान्वयन को मैन्युअल रूप से स्थापित करने के लिए। डिफ़ॉल्ट रूप से, TensorFlow Lite Micro घटक .tflite को रूपांतरित करने के लिए Flatbuffer कनवर्टर टूल का उपयोग करता है। file C ऐरे में डालें और इस न्यूरल नेटवर्क मॉडल को स्वचालित रूप से आरंभ करें। अधिक जानकारी के लिए स्वचालित आरंभीकरण अनुभाग देखें।
कर्नेल कार्यान्वयन
संदर्भ कर्नेल
यह घटक सभी कर्नेल के अ-अनुकूलित सॉफ़्टवेयर कार्यान्वयन प्रदान करता है। यह एक डिफ़ॉल्ट कार्यान्वयन है जिसे पढ़ने में आसान बनाया गया है और यह किसी भी प्लेटफ़ॉर्म पर चल सकता है। परिणामस्वरूप, ये कर्नेल एक इष्टतम कार्यान्वयन की तुलना में धीमी गति से चल सकते हैं।
CMSIS-NN अनुकूलित कर्नेल
कुछ कर्नेल में ऐसे कार्यान्वयन होते हैं जिन्हें CMSIS-NN लाइब्रेरी का उपयोग करके विशिष्ट CPU आर्किटेक्चर के लिए अनुकूलित किया गया है। उपलब्ध होने पर इन कर्नेल का उपयोग करने से अनुमान प्रदर्शन में उल्लेखनीय सुधार हो सकता है। इस घटक को सक्षम करके, उपलब्ध अनुकूलित कर्नेल कार्यान्वयन परियोजना में जोड़ दिए जाते हैं, और संबंधित संदर्भ कर्नेल कार्यान्वयनों को प्रतिस्थापित कर देते हैं। शेष कर्नेल संदर्भ कर्नेल घटक पर निर्भर होकर संदर्भ कार्यान्वयनों का उपयोग करने लगते हैं।
एमवीपी त्वरित कर्नेल
कुछ कर्नेल में MVP एक्सेलरेटर के लिए अनुकूलित कार्यान्वयन होते हैं जो चुनिंदा सिलिकॉन लैब्स भागों पर उपलब्ध होते हैं। इन कर्नेल का उपयोग करने से अनुमान प्रदर्शन में सुधार होगा। इस घटक को सक्षम करने से, उपलब्ध त्वरित कर्नेल कार्यान्वयन परियोजना में जुड़ जाते हैं, और संबंधित अनुकूलित या संदर्भ कर्नेल कार्यान्वयनों को प्रतिस्थापित कर देते हैं। शेष कर्नेल संबंधित घटकों पर निर्भर होकर अनुकूलित या संदर्भ कार्यान्वयनों का उपयोग करने के लिए वापस आ जाते हैं। एक्सेलरेटर के बारे में अधिक विवरण देखें ताकि यह पता चल सके कि कौन से कर्नेल समर्थित हैं और कौन से प्रतिबंध लागू होते हैं।
I/O स्ट्रीम का उपयोग करके डीबग लॉगिंग / अक्षम
TensorFlow में डीबग लॉगिंग का उपयोग डीबग और त्रुटि जानकारी प्रदर्शित करने के लिए किया जाता है। इसके अतिरिक्त, इसका उपयोग अनुमान परिणाम प्रदर्शित करने के लिए भी किया जा सकता है। डीबग लॉगिंग डिफ़ॉल्ट रूप से सक्षम होती है, और इसका कार्यान्वयन UART के माध्यम से वर्चुअल COM पर प्रिंट करने के लिए I/O स्ट्रीम का उपयोग करता है।

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

28/89

बुनियादी बातों
पोर्ट ऑन डेवलपमेंट किट (VCOM)। लॉगिंग को अक्षम करने के लिए यह सुनिश्चित करें कि परियोजना में "डीबग लॉगिंग अक्षम" घटक शामिल है।
TensorFlow तृतीय पक्ष निर्भरताएँ
CMSIS-NN लाइब्रेरी के एक विशिष्ट संस्करण का उपयोग TensorFlow Lite for Microcontrollers के साथ कुछ कर्नेल को अनुकूलित करने के लिए किया जाता है। यह लाइब्रेरी इस परियोजना में TensorFlow Lite for Microcontrollers के साथ शामिल है। TensorFlow, CMSIS-NN के एक अत्याधुनिक संस्करण पर निर्भर करता है, जबकि Simplicity SDK का शेष भाग एक स्थिर CMSIS संस्करण का उपयोग करता है। यह दृढ़ता से अनुशंसा की जाती है कि परियोजना में कहीं और CMSIS-DSP और CMSIS-NN के Simplicity SDK संस्करण के फ़ंक्शन का उपयोग करने से बचें और इसके बजाय TensorFlow Lite for Microcontrollers के साथ बंडल किए गए संस्करण का उपयोग करें ताकि दोनों के बीच संस्करण संबंधी टकराव से बचा जा सके।
ऑडियो फ़ीचर जनरेटर
ऑडियो फ़ीचर जनरेटर का उपयोग मशीन लर्निंग (एमएल) ऑडियो वर्गीकरण अनुप्रयोगों में उपयोग के लिए ऑडियो सिग्नल से समय-आवृत्ति फ़ीचर निकालने के लिए किया जा सकता है। उत्पन्न फ़ीचर ऐरे एक मेल-स्केल्ड स्पेक्ट्रोग्राम है, जो किसी दिए गए सिग्नल की आवृत्ति जानकारी को दर्शाता है।ampऑडियो की लंबाई.
फ़्लैटबफ़र कन्वर्टर टूल के साथ उपयोग किए जाने पर, ऑडियो फ़ीचर जनरेटर डिफ़ॉल्ट रूप से .tflite फ़्लैटबफ़र के मॉडल पैरामीटर से अपनी कॉन्फ़िगरेशन सेटिंग्स लेता है। सिलिकॉन लैब्स मशीन लर्निंग टूलकिट का उपयोग करके ऐसे मेटाडेटा को फ़्लैटबफ़र में जोड़ा जा सकता है। यह सुनिश्चित करता है कि एम्बेडेड डिवाइस पर अनुमान के दौरान उपयोग की जाने वाली सेटिंग्स प्रशिक्षण के दौरान उपयोग की जाने वाली सेटिंग्स से मेल खाती हैं। यदि ऐसे मेटाडेटा के बिना मॉडल का उपयोग किया जाता है, तो कॉन्फ़िगरेशन विकल्प "मैन्युअल फ़्रंटएंड कॉन्फ़िगरेशन सक्षम करें" को सक्षम किया जा सकता है, और कॉन्फ़िगरेशन हेडर sl_ml_audio_feature_generation_config.h में कॉन्फ़िगरेशन मान सेट किए जा सकते हैं।
डिफ़ॉल्ट मॉडल का स्वचालित आरंभीकरण
जब TensorFlow Lite Micro घटक को प्रोजेक्ट में जोड़ा जाता है, तो यह डिफ़ॉल्ट रूप से TFLite Micro Init API का उपयोग करके एक डिफ़ॉल्ट मॉडल को स्वचालित रूप से आरंभ करने का प्रयास करेगा। यह दिए गए फ्लैटबफर के लिए एक ऑपोड रिज़ॉल्वर और इंटरप्रेटर बनाकर TensorFlow Lite Micro का आरंभीकरण करता है। इसके अलावा, यह टेंसर एरिना बफर भी बनाता है।
स्वचालित आरंभीकरण कोड द्वारा प्रयुक्त मॉडल फ़्लैटबफ़र कनवर्टर टूल से आता है। यदि फ़्लैटबफ़र MLTK का उपयोग करके बनाया गया था, तो इसमें आवश्यक टेंसर एरीना आकार के बारे में मेटाडेटा हो सकता है। यदि ऐसी जानकारी मौजूद है, तो इसे स्वचालित रूप से सही आकार में आरंभीकृत कर दिया जाएगा। यदि गैर-MLTK फ़्लैटबफ़र का उपयोग किया जाता है, तो टेंसर एरीना आकार को कॉन्फ़िगरेशन का उपयोग करके मैन्युअल रूप से कॉन्फ़िगर किया जाना चाहिए। file TensorFlow लाइट माइक्रो घटक के लिए.
यदि स्टार्टअप पर स्वचालित आरंभीकरण वांछित नहीं है, तो इसे स्वचालित रूप से मॉडल आरंभ करें (SL_TFLITE_MICRO_INTERPRETER_INIT_ENABLE) कॉन्फ़िगरेशन विकल्प का उपयोग करके बंद किया जा सकता है।
संस्करण
सिलिकॉन लैब्स AI/ML एक्सटेंशन, थर्ड_पार्टी/tflite-micro/ में माइक्रोकंट्रोलर्स के लिए TensorFlow Lite संस्करण #02414075e7f718a2d0412775fcadbf28fb4cc5aa को शामिल करता है। माइक्रोकंट्रोलर्स के लिए TensorFlow Lite की मुख्य पेशकश पैच-मुक्त है, सिलिकॉन लैब्स उपकरणों के लिए सभी अतिरिक्त सामग्री एक्सटेंशन की रूट डायरेक्टरी में वितरित की जाती है।
तृतीय-पक्ष उपकरण और भागीदार
औजार
नेट्रॉन तंत्रिका नेटवर्क के लिए एक विज़ुअलाइज़ेशन उपकरण है, जो .tflite मॉडल के साथ संगत है fileयह इसके लिए उपयोगी है viewमॉडल में प्रयुक्त ऑपरेशन, टेंसर और कर्नेल के आकार आदि।
एआई/एमएल पार्टनर्स
सिलिकॉन लैब्स के एआई/एमएल पार्टनर डेटा संग्रह, मॉडल विकास और प्रशिक्षण के लिए विशेषज्ञता और प्लेटफ़ॉर्म प्रदान करते हैं। अधिक जानकारी के लिए टेक्नोलॉजी पार्टनर पेज देखें।

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

29/89

एमवीपी एक्सेलेरेटर
एमवीपी एक्सेलेरेटर
एमवीपी एक्सेलेरेटर
एमवीपी एक्सेलरेटर एक सह-प्रोसेसर है जिसे मैट्रिक्स और वेक्टर ऑपरेशन करने के लिए डिज़ाइन किया गया है। हार्डवेयर त्वरित कर्नेल कार्यान्वयन का उपयोग करने से न्यूरल नेटवर्क अनुमान समय कम होगा, साथ ही मुख्य प्रोसेसर पर भार कम होगा ताकि वह अन्य कार्य कर सके या स्लीप मोड में जा सके। सिलिकॉन लैब्स ने सामान्य न्यूरल नेटवर्क ऑपरेटरों को एमवीपी पर निष्पादित किए जाने वाले प्रोग्राम के रूप में कार्यान्वित किया है और इन्हें माइक्रोकंट्रोलर्स के लिए टेंसरफ्लो लाइट के साथ एकीकृत किया है। एमवीपी में 5 ऐरे नियंत्रक हैं, जिनमें से प्रत्येक 3 स्वतंत्र आयामों में पुनरावृत्ति का समर्थन कर सकता है। प्रत्येक आयाम 1024 तत्वों तक सीमित है, प्रत्येक तत्व के बीच 2047 की एक स्ट्राइड है। इसलिए अधिकांश न्यूरल नेटवर्क ऑपरेशनों के लिए सीमित कारक चौड़ाई और गहराई के आयामों का गुणनफल है, क्योंकि यह ऊँचाई के आयाम में स्ट्राइड बन जाता है। सभी एमवीपी-त्वरित ऑपरेशन इनपुट और आउटपुट के रूप में हस्ताक्षरित 8-बिट पूर्णांक लेते हैं। यदि टेंसर का आंतरिक आयाम सम आकार का है, तो प्रत्येक तत्व में दो int8 मान हो सकते हैं, जिन्हें एक्सेलरेटर द्वारा एक एकल जटिल int8 मान के रूप में व्याख्यायित किया जाता है। त्वरक तब प्रभावी रूप से 2048 int8 मानों का समर्थन कर सकता है। यदि आंतरिक आयाम विषम है, तो त्वरक को एक समय में एक गणना करनी होगी, जिससे प्रदर्शन कम हो जाता है और आयाम का आकार 1024 int8 मानों तक सीमित हो जाता है। यदि टेंसर आकार अनुमति देता है, तो नीचे सूचीबद्ध ऑपरेटरों को MVP का उपयोग करके त्वरित किया जाएगा। यदि किसी विशिष्ट टेंसर को त्वरित नहीं किया जा सकता है, तो कार्यान्वयन स्वचालित रूप से रनटाइम पर अनुकूलित (CMSIS-NN) या संदर्भ कर्नेल कार्यान्वयन का उपयोग करने के लिए वापस आ जाएगा। किसी ऑपरेटर के त्वरक द्वारा समर्थित होने की संभावना को अधिकतम करने के लिए, मॉडल डिज़ाइन करते समय सम-मान वाले चैनलों की संख्या का उपयोग करें। आंतरिक रूप से, MVP त्वरक 16-बिट फ़्लोटिंग पॉइंट गणित का उपयोग करता है, भले ही 8-बिट पूर्णांक इनपुट के रूप में लिए गए हों। इसका अर्थ है कि गणनाओं की सटीकता में थोड़ी कमी आती है, जो कई तत्वों को एकत्रित करने वाले संचालन करते समय विशेष रूप से ध्यान देने योग्य हो सकती है। MVP हार्डवेयर त्वरक के बारे में अधिक जानकारी के लिए, EFR32xG24 के लिए संदर्भ पुस्तिका देखें।
त्वरित TensorFlow ऑपरेटर
जोड़ना
TensorFlow ऑपरेटर नाम: ADD कोई भी टेंसर आकार समर्थित है।
पूरी तरह से जुड़ा हुआ (घना)
TensorFlow ऑपरेटर का नाम: FULLY_CONNECTED, FULLY_CONNECTED_INT8 उन टेंसरों का समर्थन करता है जहाँ सभी आयाम 1024 तत्व सीमा के भीतर हों। यह उन बड़े टेंसरों का भी समर्थन करता है जहाँ अंतिम आयाम का आकार दो कारकों में विघटित हो सकता है और दोनों 1024 तत्व सीमा के भीतर हों।
औसतपूल2डी
TensorFlow ऑपरेटर नाम: AVERAGE_POOL_2D उन टेंसरों का समर्थन करता है जहां चौड़ाई*चैनल 2047 तत्व स्ट्राइड सीमा के भीतर है और सभी आयाम 1024 तत्व सीमा के भीतर हैं।
मैक्सपूल2डी
TensorFlow ऑपरेटर नाम: MAX_POOL_2D

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

30/89

एमवीपी एक्सेलेरेटर
ऐसे टेंसरों का समर्थन करता है जहां चौड़ाई*चैनल 2047 तत्व स्ट्राइड सीमा के भीतर है और सभी आयाम 1024 तत्व सीमा के भीतर हैं।
कन्व2डी
TensorFlow ऑपरेटर नाम: CONV_2D
ऐसे टेंसरों का समर्थन करता है जहां चौड़ाई*चैनल 2047 तत्व स्ट्राइड सीमा के भीतर है और सभी आयाम 1024 तत्व सीमा के भीतर हैं।
डेप्थवाइजConv2D
TensorFlow ऑपरेटर नाम: DEPTHWISE_CONV_2D
उन टेंसरों का समर्थन करता है जहाँ चौड़ाई*चैनल 2047 तत्व स्ट्राइड सीमा के भीतर है और सभी आयाम 1024 तत्व सीमा के भीतर हैं। विस्तार समर्थित नहीं है।
ट्रांसपोज़कन्वर्स2डी
TensorFlow ऑपरेटर नाम: TRANSPOSE_CONV_2D
उन टेंसरों का समर्थन करता है जहाँ चौड़ाई*चैनल 2047 तत्व स्ट्राइड सीमा के भीतर है और सभी आयाम 1024 तत्व सीमा के भीतर हैं। विस्तार समर्थित नहीं है।
त्वरक की प्रतीक्षा करते समय निष्पादन को स्थगित करना
एमवीपी एक्सेलरेटर के लिए सॉफ़्टवेयर एपीआई ब्लॉकिंग कर रहा है, जिसका अर्थ है कि एमवीपी ड्राइवर को किया जाने वाला कोई भी कॉल, फंक्शन कॉल से लौटने से पहले, उसके पूरा होने का इंतज़ार करेगा। ऊर्जा बचाने के लिए, ड्राइवर वैकल्पिक रूप से एक्सेलरेटर द्वारा किसी ऑपरेशन के पूरा होने की प्रतीक्षा करते हुए मुख्य प्रोसेसर के निष्पादन को स्थगित कर सकता है। डिफ़ॉल्ट रूप से, मुख्य प्रोसेसर एक्सेलरेटर के लिए व्यस्त-प्रतीक्षा करता है।
नींद नहीं आई (0)
जब "नो स्लीप" विकल्प का उपयोग किया जाता है, तो MCU कोर MVP के समाप्त होने तक व्यस्त प्रतीक्षा करेगा। यह वह विकल्प है जो सबसे तेज़ MVP निष्पादन समय प्रदान करता है। "नो स्लीप" विकल्प का उपयोग बेयर मेटल एप्लिकेशन या रीयल-टाइम ऑपरेटिंग सिस्टम (RTOS) का उपयोग करने वाले एप्लिकेशन में किया जा सकता है।
EM1 (1) दर्ज करें
जब "Enter EM1" विकल्प का उपयोग किया जाता है, तो जब भी ड्राइवर किसी MVP प्रोग्राम के पूरा होने की प्रतीक्षा करेगा, MCU को ऊर्जा मोड 1 में डाल दिया जाएगा। RTOS का उपयोग करने वाले किसी एप्लिकेशन में "Enter EM1" विकल्प का उपयोग करना सुरक्षित नहीं है क्योंकि यह उचित RTOS शेड्यूलिंग को रोक देगा।
यील्ड RTOS थ्रेड (2)
जब "यील्ड RTOS थ्रेड" विकल्प का उपयोग किया जाता है, तो MVP प्रोग्राम के पूरा होने की प्रतीक्षा कर रहा कार्य यील्ड हो जाएगा, जिससे सिस्टम में अन्य कार्य चल सकेंगे या शेड्यूलर सिस्टम को स्लीप मोड में डाल सकेगा। "यील्ड RTOS थ्रेड" के लिए आवश्यक है कि एप्लिकेशन RTOS का उपयोग कर रहा हो। MVP ड्राइवर के पावर मोड को sl_mvp_config.h कॉन्फ़िगरेशन हेडर में SL_MVP_POWER_MODE कॉन्फ़िगरेशन विकल्प सेट करके कॉन्फ़िगर किया जा सकता है।

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

31/89

डेवलपर्स गाइड
डेवलपर्स गाइड
मशीन लर्निंग डेवलपर्स गाइड
डेवलपर गाइड की सामग्री इस प्रकार व्यवस्थित है: किसी नए या मौजूदा प्रोजेक्ट में मशीन लर्निंग जोड़ें: किसी नए या मौजूदा प्रोजेक्ट में मशीन लर्निंग मॉडल जोड़ने की प्रक्रिया का वर्णन करता है। .tflite को अपडेट या बदलें File: आपके प्रोजेक्ट में मशीन लर्निंग मॉडल को अपडेट और बदलने के चरणों का वर्णन करता है। मॉडल विकसित करना: मशीन लर्निंग मॉडल विकसित करने की प्रक्रिया को समझाता है। AI/ML एक्सटेंशन सेटअप: सेटअप में AI/ML एक्सटेंशन जोड़ने की विस्तृत व्याख्या। फ्लैटबफर कन्वर्टर टूल: दिखाता है कि हेडर में शामिल करने के लिए फ्लैटबफर को बाइट्स में कैसे बदला जाता है। fileSiWx917 के लिए I2S कॉन्फ़िगरेशन: SiWx917 पर AI/ML ऑडियो ऐप्स के लिए I2S को कॉन्फ़िगर करने पर विवरण प्रदान करता है।

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

32/89

किसी नए या मौजूदा प्रोजेक्ट में मशीन लर्निंग जोड़ें
किसी नए या मौजूदा प्रोजेक्ट में मशीन लर्निंग जोड़ें
किसी नए या मौजूदा प्रोजेक्ट में मशीन लर्निंग जोड़ें
यह मार्गदर्शिका किसी नए या मौजूदा प्रोजेक्ट में मशीन लर्निंग जोड़ने के बारे में विस्तृत जानकारी प्रदान करती है, और TFLM फ्रेमवर्क के स्वचालित आरंभीकरण के लिए सिलिकॉन लैब्स द्वारा प्रदान किए गए TensorFlow Lite for Microcontrollers के रैपर API का उपयोग करती है। यह मार्गदर्शिका मानती है कि Simplicity Studio कार्यक्षेत्र में पहले से ही एक प्रोजेक्ट मौजूद है और आपने AI/ML एक्सटेंशन इंस्टॉल किया है। यदि आप बिल्कुल नए सिरे से शुरुआत कर रहे हैं, तो आप किसी भी s से शुरुआत कर सकते हैं।ample एप्लिकेशन या खाली C++ एप्लिकेशन। AI/ML एक्सटेंशन इंस्टॉल करने के निर्देशों के लिए कृपया AI/ML एक्सटेंशन सेटअप देखें। TFLM में एक C++ API है, इसलिए इसके साथ इंटरफेस करने वाला एप्लिकेशन कोड भी C++ में लिखा जाना चाहिए। अगर आप किसी ऐसे एप्लिकेशन से शुरुआत कर रहे हैं जिसमें मुख्य रूप से C कोड है, तो एक अलग C++ जोड़कर अपने प्रोजेक्ट की संरचना कैसे करें, इस पर सुझावों के लिए C कोड के साथ इंटरफेसिंग वाला अनुभाग देखें। file TFLM इंटरफ़ेस के लिए.
TensorFlow Lite माइक्रो कंपोनेंट स्थापित करें
1. अपना प्रोजेक्ट खोलें file (.slcp एक्सटेंशन वाला).
2. सॉफ्टवेयर घटकों के अंतर्गत, “aiml” खोजें।
3. एक्सटेंशन सक्षम करें पर क्लिक करके AI/ML एक्सटेंशन सक्षम करें।
4. विस्तृत करें: AI/ML > मशीन लर्निंग > TensorFlow। TensorFlow Lite Micro चुनें और इंस्टॉल पर क्लिक करें। नोट: SiWx917 अनुप्रयोगों के लिए इस चरण को छोड़ दें।

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

33/89

नए या मौजूदा प्रोजेक्ट में मशीन लर्निंग जोड़ें 5. आपको अतिरिक्त घटकों का चयन करने के लिए कहा जाएगा: नोट: SiWx917 अनुप्रयोगों के लिए इस चरण को छोड़ दें।
डीबग लॉगिंग: IO स्ट्रीम का उपयोग करके डीबग लॉगिंग चुनें (यदि आवश्यक हो) या डीबग लॉगिंग अक्षम करें। इंस्टॉल पर क्लिक करें। नोट: यदि आपके प्रोजेक्ट में पहले से कोई I/O स्ट्रीम कार्यान्वयन नहीं है, तो आपको एक निर्भरता सत्यापन चेतावनी मिल सकती है। यह कोई समस्या नहीं है, लेकिन इसका सीधा सा मतलब है कि I/O स्ट्रीम बैकएंड का चुनाव करना होगा। USART या EUSART बैकएंड सबसे आम हैं, क्योंकि ये डेवलपमेंट किट वर्चुअल COM पोर्ट (VCOM) के माध्यम से कनेक्टेड पीसी से संचार कर सकते हैं।

IO स्ट्रीम: यदि आपको अपने सीरियल कंसोल पर आउटपुट दिखाई नहीं देता है, तो आपको EUSART या USART घटक को भी स्थापित करने की आवश्यकता हो सकती है।

इंस्टेंस नाम के रूप में "vcom" के डिफ़ॉल्ट सुझाव को स्वीकार करें, जो डेवलपमेंट बोर्ड की VCOM लाइनों से कनेक्ट करने के लिए पिनआउट को स्वचालित रूप से कॉन्फ़िगर कर देगा। यदि आप अपना स्वयं का हार्डवेयर उपयोग कर रहे हैं, तो आप कोई भी इंस्टेंस नाम सेट कर सकते हैं और पिनआउट को मैन्युअल रूप से कॉन्फ़िगर कर सकते हैं।

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

34/89

किसी नए या मौजूदा प्रोजेक्ट में मशीन लर्निंग जोड़ें
अतिरिक्त सॉफ़्टवेयर घटक और C++ बिल्ड सेटिंग्स
नोट: सीरीज़ 2 डिवाइस के लिए मॉडल समावेशन अनुभाग पर जाएँ। यह अनुभाग केवल SiWx917 डिवाइस के लिए लागू है। 1. सुनिश्चित करें कि आपके प्रोजेक्ट में निम्नलिखित घटक स्थापित हैं।
WiseConnect SDK > डिवाइस > Si91X > MCU > सेवा > पावर मैनेजर > Si91x प्लेटफ़ॉर्म के लिए स्लीप टाइमर > पेरिफेरल > सामान्य हेडर

2. अपनी C++ बिल्ड सेटिंग्स को इस प्रकार अपडेट करें: C प्रीप्रोसेसर परिभाषाओं में, जोड़ें: SUPPORT_CPLUSPLUS . GNU ARM C++ कंपाइलर > विविध सेटिंग्स में, जोड़ें: -mfp16-format=ieee .
कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

35/89

किसी नए या मौजूदा प्रोजेक्ट में मशीन लर्निंग जोड़ें

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

36/89

किसी नए या मौजूदा प्रोजेक्ट में मशीन लर्निंग जोड़ें

वैकल्पिक विधि: आप इन सेटिंग्स को सीधे अपने प्रोजेक्ट के .slcp में भी जोड़ सकते हैं file:
.slcp खोलें file किसी टेक्स्ट एडिटर में। C प्रीप्रोसेसर परिभाषाओं के लिए परिभाषित अनुभाग में SUPPORT_CPLUSPLUS जोड़ें। उदाहरण के लिएampपर:
परिभाषित करें: – नाम: SUPPORT_CPLUSPLUS मान: 1
C++ कंपाइलर फ्लैग के लिए toolchain_settings अनुभाग में -mfp16-format=ieee जोड़ें, उदाहरण के लिएampपर:
toolchain_settings: – विकल्प: gcc_compiler_option मान: -mfp16-format=ieee
बचाओ file और परिवर्तनों को लागू करने के लिए अपनी परियोजना को पुनः तैयार करें।
मॉडल समावेशन
प्रोजेक्ट कॉन्फ़िगरेशन में TensorFlow Lite माइक्रो घटक जोड़ने के बाद, अगला चरण मॉडल को लोड करना है file प्रोजेक्ट में। ऐसा करने के लिए, प्रोजेक्ट की कॉन्फ़िगरेशन निर्देशिका के अंदर एक tflite निर्देशिका बनाएँ, और .tflite मॉडल को कॉपी करें file प्रोजेक्ट कॉन्फ़िगरेटर एक ऐसा टूल प्रदान करता है जो .tflite को स्वचालित रूप से इसमें परिवर्तित कर देगा। files को sl_tflite_micro_model स्रोत और हेडर में बदलें fileइस टूल का पूरा दस्तावेज़ फ़्लैटबफ़र कनवर्टर टूल पर उपलब्ध है।
SiWx917 उपकरणों के लिए, .tflite मॉडल की प्रतिलिपि बनाने के बाद file परियोजना में, एक हेडर file नामित sl_ml_model_ .h उत्पन्न होता है। यह हेडर परिवर्तित .tflite से प्राप्त C ऐरे तक पहुँच प्रदान करता है। file, साथ ही मॉडल को आरंभ करने और चलाने के लिए एपीआई भी।
स्वचालित आरंभीकरण

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

37/89

किसी नए या मौजूदा प्रोजेक्ट में मशीन लर्निंग जोड़ें
TensorFlow फ्रेमवर्क SDK प्रोग्रामिंग मॉडल में वर्णित सिस्टम इनिशियलाइज़ेशन फ्रेमवर्क का उपयोग करके स्वचालित रूप से इनिशियलाइज़ हो जाता है। इसमें एक टेंसर क्षेत्र आवंटित करना, एक इंटरप्रेटर को इंस्टेंटिएट करना और मॉडल लोड करना शामिल है।
विन्यास
नोट: SiWx917 के लिए सभी कॉन्फ़िगरेशन का ध्यान स्वचालित रूप से रखा जाता है।
यदि मॉडल सिलिकॉन लैब्स मशीन लर्निंग टूलकिट (MLTK) का उपयोग करके तैयार किया गया है, तो इसमें पहले से ही टेन्सर एरिना के आवश्यक आकार को दर्शाने वाला मेटाडेटा मौजूद है। यह टेन्सरफ्लो द्वारा इनपुट, आउटपुट और इंटरमीडिएट एरे के रनटाइम स्टोरेज के लिए उपयोग किया जाने वाला मेमोरी क्षेत्र है। एरिना का आवश्यक आकार उपयोग किए गए मॉडल पर निर्भर करता है। यदि MLTK का उपयोग नहीं किया जा रहा है, तो एरिना के आकार को कॉन्फ़िगर करना होगा। यह दो तरीकों से किया जा सकता है:
[स्वचालित] एरीना का आकार -1 पर सेट करें, और यह आरंभीकरण के समय आकार का स्वतः अनुमान लगाने का प्रयास करेगा। [मैन्युअल] विकास के दौरान बड़ी संख्या से शुरुआत करें, और आकार अनुकूलन के भाग के रूप में आरंभीकरण विफल होने तक आवंटन कम करें।

श्रृंखला 2 डिवाइस के लिए मॉडल चलाएँ
सिलिकॉन लैब्स TensorFlow Init API शामिल करें
#शामिल करें “sl_tflite_micro_init.h”
बेयर मेटल एप्लिकेशन में डिफ़ॉल्ट व्यवहार के लिए, app.cpp में app_process_action() के दौरान मॉडल चलाने की अनुशंसा की जाती है ताकि यह सुनिश्चित हो सके कि मानक इवेंट लूप के दौरान आवधिक अनुमान लगाए जा सकें। मॉडल चलाने में तीन चरण शामिल हैं।tages: इंटरप्रेटर को इनपुट प्रदान करें सेंसर डेटा को पूर्व-संसाधित किया जाता है (यदि आवश्यक हो) और फिर इंटरप्रेटर को इनपुट के रूप में प्रदान किया जाता है।
TfLiteTensor* input = sl_tflite_micro_get_input_tensor(); // मॉडल के इनपुट टेंसर में 0.0 संग्रहीत करता है input->data.f[0] = 0.;

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

38/89

किसी नए या मौजूदा प्रोजेक्ट में मशीन लर्निंग जोड़ें
अनुमान चलाएँ
इसके बाद मॉडल की सभी परतों को चलाने के लिए इंटरप्रेटर को बुलाया जाता है।
TfLiteStatus invoke_status = sl_tflite_micro_get_interpreter()->Invoke(); यदि invoke_status kTfLiteOk से भिन्न है, तो { TF_LITE_REPORT_ERROR(sl_tflite_micro_get_error_reporter(),
“मॉडल में ख़राब इनपुट टेंसर पैरामीटर”); return; }
श्रृंखला 2 उपकरणों के लिए आउटपुट पढ़ें
आउटपुट पूर्वानुमान को इंटरप्रेटर से पढ़ा जाता है।
TfLiteTensor* output = sl_tflite_micro_get_output_tensor(); // टेंसर से आउटपुट मान प्राप्त करें float value = output->data.f[0];
इस बिंदु पर, आउटपुट पूर्वानुमान के आधार पर एप्लिकेशन-निर्भर व्यवहार निष्पादित किया जाना चाहिए। एप्लिकेशन app_process_action() के प्रत्येक पुनरावृत्ति पर अनुमान चलाएगा।
पूर्ण कोड स्निपेट (श्रृंखला 2)
उपरोक्त चरणों का पालन करने के बाद, परिणामी app.cpp अब निम्नानुसार दिखाई देता है:
#शामिल करें “sl_tflite_micro_init.h”
/*******************************************************************************//** * एप्लिकेशन प्रारंभ करें। *******************************************************************************/
शून्य ऐप_init(शून्य) {
// प्रारंभ स्वचालित रूप से होता है }
/*******************************************************************************//** * ऐप टिकिंग फ़ंक्शन. *******************************************************************************/
शून्य ऐप_प्रक्रिया_क्रिया(शून्य) {
TfLiteTensor* input = sl_tflite_micro_get_input_tensor(); // मॉडल के इनपुट टेंसर में 0.0 संग्रहीत करता है input->data.f[0] = 0.;
TfLiteStatus invoke_status = sl_tflite_micro_get_interpreter()->Invoke(); यदि invoke_status kTfLiteOk से भिन्न है, तो { TF_LITE_REPORT_ERROR(sl_tflite_micro_get_error_reporter(),
“मॉडल में ख़राब इनपुट टेंसर पैरामीटर”); return; }
TfLiteTensor* output = sl_tflite_micro_get_output_tensor(); // टेंसर से आउटपुट मान प्राप्त करें float value = output->data.f[0]; }
SiWx917 डिवाइस के लिए मॉडल चलाएँ

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

39/89

किसी नए या मौजूदा प्रोजेक्ट में मशीन लर्निंग जोड़ें
SiWx917 उपकरणों के लिए, API श्रृंखला 2 से भिन्न हैं। अपने मॉडल को आरंभ करने और चलाने के लिए जेनरेट किए गए मॉडल C++ API का उपयोग करें। नीचे इन API का उपयोग करने के लिए एक सामान्य मार्गदर्शिका दी गई है:
1. आवश्यक हेडर शामिल करें
//इस मॉडल के लिए _init() और _run() फ़ंक्शन प्रदान करता है #include “sl_ml_model_ .h” // …अन्य हेडर आवश्यकतानुसार…
2. सिस्टम आरंभीकरण
sl_सिस्टम_init();
3. मॉडल आरंभीकरण
//नाम के साथ मॉडल को लोड और आरंभ करता है //इसके पैरामीटर्स को इनिशिएल करता है //इसके इंटरप्रिटर को इनिशिएल करता है //इसके एरर रिपोर्टर को इनिशिएल करता है //मॉडल के टेंसर के लिए मेमोरी आवंटित करता है
sl_status_t स्थिति = slx_ml_ _model_init(); यदि (स्थिति != SL_STATUS_OK) {
printf(“मॉडलn आरंभ करने में विफल”); // त्रुटि संभालें }
4. इनपुट टेंसर तक पहुँचें और तैयार करें
के लिए (अहस्ताक्षरित int i = 0; i < _model.n_inputs(); ++i) { ऑटो& इनपुट_टेंसर = * _model.input(i); // input_tensor.data को अपने इनपुट डेटा से भरें
}
5. अनुमान लगाएँ
/// नाम के साथ मॉडल निष्पादित करता है TFLite Micro के लिए इसके इंटरप्रेटर को इनवोक करके और निष्पादन स्थिति लौटाता है। /// आउटपुट मॉडल के आउटपुट टेंसर में ही संग्रहीत होता है। स्थिति = slx_ml_model_ _run(); यदि (स्थिति != SL_STATUS_OK) {
printf(“inference चलाते समय त्रुटि”); // त्रुटि संभालें }
6. आउटपुट टेंसर तक पहुँचें
के लिए (अहस्ताक्षरित int i = 0; i < _model.n_outputs(); ++i) { ऑटो& आउटपुट_टेंसर = * _model.output(i); // output_tensor.data से परिणाम पढ़ें
}
पूर्ण कोड स्निपेट (SiWx917)
नीचे SiWx917 डिवाइस पर मॉडल चलाने के लिए एक सामान्य कोड स्निपेट दिया गया है। अपने वास्तविक मॉडल नाम के साथ.
ऐप.एच

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

40/89

किसी नए या मौजूदा प्रोजेक्ट में मशीन लर्निंग जोड़ें
#ifndef APP_H #define APP_H
#ifdef __cplusplus बाहरी “C” { #endif
शून्य app_init(शून्य); शून्य app_process_action(शून्य);
#ifdef __cplusplus } #endif
#endif // APP_H
ऐप.सीसी
#“app.h” शामिल करें #“model_runner.h” शामिल करें
sl_स्थिति_t _मॉडल_स्थिति = SL_स्थिति_ठीक;
// आरंभीकरण तर्क void app_init(void) {
_model_status = मॉडल_रनर_प्रारंभ(); यदि ( _मॉडल_स्थिति != SL_STATUS_OK) {
// सहायक त्रुटि संदेश प्रिंट करें या त्रुटि वापसी को संभालें; } }
शून्य ऐप_प्रक्रिया_क्रिया(शून्य) { यदि ( _model_status != SL_STATUS_OK) { // त्रुटि संदेश प्रिंट करें या त्रुटि वापसी इंगित करें; } model_runner_loop();
}
मॉडल_रनर.सीसी

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

41/89

किसी नए या मौजूदा प्रोजेक्ट में मशीन लर्निंग जोड़ें
#शामिल करें “sl_ml_model_ ।एच"
sl_status_t model_runner_init(void) { // परिधीय और अन्य आरंभीकरण तर्क
_मॉडल_स्थिति = slx_ml_ _मॉडल_init();
अगर ( _model_status != SL_STATUS_OK) { // परिधीय डीनिट या क्लीनअप लॉजिक SL_STATUS_FAIL लौटाता है;
} वापस करना _मॉडल_स्थिति; }
sl_status_t model_runner_loop(void) { // डेटा कैप्चर और प्री-प्रोसेसिंग लॉजिक
_मॉडल_स्थिति = slx_ml_ _मॉडल_रन();
अगर ( _model_status != SL_STATUS_OK) { // परिधीय डीनिट या क्लीनअप लॉजिक SL_STATUS_FAIL लौटाता है;
}
// पोस्ट-प्रोसेसिंग तर्क
वापस करना _मॉडल_स्थिति; }
परिशिष्ट: C कोड के साथ इंटरफेसिंग
यदि आपका प्रोजेक्ट C++ के बजाय C में लिखा गया है, तो TFLM के साथ इंटरफेस करने वाले कोड को एक अलग फ़ोल्डर में रखें। file जो एक इंटरफ़ेस हेडर के ज़रिए C API एक्सपोर्ट करता है। इस उदाहरण के लिएampले, ए fileनाम app_ml.cpp माना जाता है जो ex के समान सामग्री के साथ फ़ंक्शन ml_process_action() को कार्यान्वित करता हैampले ऊपर.
ऐप_एमएल.एच
#ifdef __cplusplus बाहरी “C” { #endif
शून्य ml_process_action(शून्य);
#ifdef __cplusplus } #endif
ऐप_एमएल.सीपीपी
#शामिल करें “app_ml.h” #शामिल करें “sl_tflite_micro_init.h”
बाहरी “सी” शून्य ml_process_action(शून्य) {
// … }
ऐप.सी

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

42/89

किसी नए या मौजूदा प्रोजेक्ट में मशीन लर्निंग जोड़ें
#include “app_ml.h” // … void app_process_action(void) {
एमएल_प्रोसेस_एक्शन(); }
परिशिष्ट: श्रृंखला 2 से SiWx917 (और इसके विपरीत) ऐप रूपांतरण
यदि आपको किसी एप्लिकेशन को Series 2 से SiWx917 में पोर्ट करना है, तो पहले अपने प्रोजेक्ट से TensorFlow Lite Micro घटक हटाएँ। फिर, आवश्यक सॉफ़्टवेयर घटक और C++ बिल्ड सेटिंग्स जोड़ने के लिए इन चरणों का पालन करें। SiWx917 उपकरणों के लिए, API और वर्कफ़्लो Series 2 से भिन्न हैं। ऊपर दिए गए "SiWx917 उपकरणों के लिए मॉडल चलाएँ" अनुभाग में वर्णित अनुसार जनरेट किए गए मॉडल C++ API का उपयोग करें। आरंभीकरण, अनुमान चलाने और इनपुट/आउटपुट टेंसर तक पहुँचने के विवरण के लिए इस पृष्ठ पर दिए गए कोड स्निपेट और चरण-दर-चरण निर्देश देखें। पूरी जानकारी के लिएample के लिए, पूरा कोड स्निपेट (SiWx917) अनुभाग देखें। अपने प्रोजेक्ट को अपडेट करने के बाद, यह सुनिश्चित करने के लिए इसे पुनः जनरेट करें कि सभी निर्भरताएँ सही ढंग से कॉन्फ़िगर की गई हैं।

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

43/89

.tflite को अपडेट या बदलें File
.tflite को अपडेट या बदलें File
.tflite को अपडेट करना या बदलना File एक परियोजना में
यह मार्गदर्शिका बताती है कि किसी मौजूदा प्रोजेक्ट में मॉडल को कैसे बदला जाए। यह मानकर चला जाता है कि प्रोजेक्ट फ़्लैटबफ़र कन्वर्टर टूल का उपयोग करता है।
मॉडल बदलें
किसी मौजूदा प्रोजेक्ट में मॉडल को बदलने के लिए, नए मॉडल को खींचें और छोड़ें file प्रोजेक्ट की config/tflite/ डायरेक्टरी में। अगर नए मॉडल में भी यही है file नाम को पिछले मॉडल के रूप में बदलें, अधिलेखित करने के लिए संकेत स्वीकार करें fileयदि नए मॉडल का नाम अलग है, तो पुराने .tflite को हटा दें या उसका नाम बदल दें file इस तरह कि अब इसका .tflite एक्सटेंशन नहीं रहेगा। जब डायरेक्टरी वॉचर को पता चलेगा कि कोई अलग .tflite एक्सटेंशन है, तो फ़्लैटबफ़र कन्वर्टर टूल अपने आप काम करेगा। file मौजूद है।
नोट: यदि आपके पास एकाधिक .tflite हैं fileconfig/tflite/ निर्देशिका में, कनवर्टर टूल पहले को चुनेगा file वर्णमाला क्रम में। इसलिए यह सुनिश्चित करने के लिए कि उपकरण सही वर्णानुक्रम का उपयोग करता है, किसी भी पुराने मॉडल का नाम बदलने या हटाने की अनुशंसा की जाती है। file.
मॉडल का निरीक्षण करें
आप यह सुनिश्चित करने के लिए कदम उठा सकते हैं कि .tflite से C arrays और हेडर्स का स्वचालित पुनर्जनन हो file जैसा अपेक्षित था, वैसा ही निष्पादित हुआ। अगर आपको कभी भी यह पता न चले कि कौन सा मॉडल आपके एप्लिकेशन बाइनरी का हिस्सा है, तो नीचे दिए गए चरणों में से कोई भी चरण अपनाया जा सकता है।
मॉडल का आकार जांचें
उत्पन्न हुआ file autogen/sl_tflite_micro_model.c एक आकार चर sl_tflite_model_len परिभाषित करता है। इस संख्या की तुलना file .tflite का आकार file बाइट्स में, उदाहरण के लिएample, .tflite पर राइट-क्लिक करके file और गुण > संसाधन > आकार के मान को देखें।
मॉडल द्वारा उपयोग किए गए ऑपरेटरों की जाँच करें
उत्पन्न हुआ file autogen/sl_tflite_micro_opcode_resolver.h में tflite::MicroMutableOpResolver::AddXXX के लिए कई कॉल शामिल हैं, जहाँ XXX मॉडल द्वारा उपयोग किए जाने वाले ऑपरेटरों का नाम है। इसकी तुलना उन ऑपरेटरों से की जा सकती है जिन्हें आप जानते हैं कि मॉडल को उपयोग करना चाहिए।
मॉडल पैरामीटर की जाँच करें
यदि .tflite file सिलिकॉन लैब्स मशीन लर्निंग टूलकिट का उपयोग करके जेनरेट किया गया, इसमें मेटाडेटा शामिल है जो autogen/sl_tflite_micro_model_parameters.h में जेनरेट होता है। इन पैरामीटर्स की तुलना अपेक्षित पैरामीटर्स से की जा सकती है।
C का बल उत्पादन files
यदि ऐसा कुछ होता है जिससे उत्पन्न .c और .h, .tflite के साथ समन्वय से बाहर हो जाते हैं fileप्रोजेक्ट को प्रोजेक्ट कॉन्फिगरेटर के प्रोजेक्ट विवरण फलक पर बलपूर्वक जनरेशन बटन दबाकर बलपूर्वक पुन: जनरेट किया जा सकता है।

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

44/89

एक मॉडल विकसित करना
एक मॉडल विकसित करना
मशीन लर्निंग मॉडल विकसित करना
TensorFlow और Keras का उपयोग करके मैन्युअल रूप से मॉडल विकसित करना

एम्बेडेड सिस्टम में उपयोग के लिए न्यूरल नेटवर्क विकसित और प्रशिक्षित करते समय, मॉडल आर्किटेक्चर और प्रशिक्षण पर लागू होने वाली TFLM की सीमाओं को ध्यान में रखना ज़रूरी है। एम्बेडेड प्लेटफ़ॉर्म में भी महत्वपूर्ण प्रदर्शन संबंधी बाधाएँ होती हैं जिन पर मॉडल डिज़ाइन और मूल्यांकन करते समय विचार किया जाना चाहिए। एम्बेडेड TLFM दस्तावेज़ लिंक इन सीमाओं और विचारों का विस्तार से वर्णन करते हैं।
इसके अतिरिक्त, सिम्पलिसिटी स्टूडियो में TensorFlow सॉफ़्टवेयर घटकों को प्रशिक्षित मॉडल के क्वांटाइज़्ड *.tflite निरूपण की आवश्यकता होती है। परिणामस्वरूप, मॉडल विकास और प्रशिक्षण के लिए TensorFlow और Keras अनुशंसित प्लेटफ़ॉर्म हैं क्योंकि दोनों प्लेटफ़ॉर्म TensorFlow Lite Converter द्वारा समर्थित हैं जो .tflite मॉडल निरूपण उत्पन्न करता है।
TensorFlow और Keras दोनों मॉडल विकास और प्रशिक्षण पर मार्गदर्शन प्रदान करते हैं:
TensorFlow बुनियादी प्रशिक्षण लूप

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

45/89

एक मॉडल विकसित करना
केरास प्रशिक्षण और मूल्यांकन एक मॉडल को TensorFlow या केरास में बनाने और प्रशिक्षित करने के बाद, इसे *.tflite में परिवर्तित और क्रमबद्ध करने की आवश्यकता होती है fileमॉडल रूपांतरण के दौरान, मॉडल को क्वांटाइज़ करके उसके मेमोरी उपयोग को अनुकूलित करना महत्वपूर्ण है। सिलिकॉन लैब्स उपकरणों पर पूर्णांक क्वांटाइज़ेशन का उपयोग करने की अत्यधिक अनुशंसा की जाती है।
TensorFlow लाइट कनवर्टर क्वांटाइजेशन ओवरview एक पूर्ण भूतपूर्वampएक सरल TFLM संगत तंत्रिका नेटवर्क के प्रशिक्षण, रूपांतरण और परिमाणीकरण को प्रदर्शित करने वाला एक उदाहरण TensorFlow से उपलब्ध है: TensorFlow Hello World Training Exampप्रशिक्षित हैलो वर्ल्ड मॉडल (डाउनलोड .zip file मॉडल युक्त)
सिलिकॉन लैब्स एआई/एमएल पार्टनर्स का उपयोग करके एक मॉडल विकसित करना
सिलिकॉन लैब्स AI/ML पार्टनर्स के बारे में अधिक जानकारी के लिए, IoT पेज पर सिलिकॉन लैब्स मशीन लर्निंग पर AI/ML पार्टनर्स सेक्शन देखें। ये पार्टनर्स आपको सिलिकॉन लैब्स डिवाइस के साथ संगत मॉडल विकसित करने में मदद कर सकते हैं।
MLTK का उपयोग करके एक मॉडल विकसित करना
नोट: MLTK प्रायोगिक है और आधिकारिक समर्थन उपलब्ध नहीं है। यह अपेक्षित है कि MLTK का उपयोग TensorFlow और Python के गहन ज्ञान वाले किसी ML विशेषज्ञ या सीखने के इच्छुक डेवलपर द्वारा किया जाए।
सिलिकॉन लैब्स मशीन लर्निंग टूलकिट (MLTK) एक पायथन पैकेज है जो TensorFlow के ऊपर एक परत लागू करता है ताकि TensorFlow डेवलपर ऐसे मॉडल बना सकें जिन्हें सिलिकॉन लैब्स चिप्स पर सफलतापूर्वक तैनात किया जा सके। ये स्क्रिप्ट ऑडियो उपयोग के मामले के लिए एक संदर्भ कार्यान्वयन हैं, जिसमें प्रशिक्षण और अनुमान, दोनों पक्षों पर ऑडियो फ़ीचर जेनरेटर का उपयोग शामिल है। यह TensorFlow "माइक्रोफ्रंटएंड" ऑडियो फ्रंटएंड का संशोधित संस्करण है। MLTK एक स्व-सेवा, स्व-समर्थन, पूर्णतः प्रलेखित, पायथन संदर्भ पैकेज के रूप में GitHub के माध्यम से प्रकाशित किया गया है। हम इसे एक प्रायोगिक पैकेज के रूप में प्रस्तुत कर रहे हैं, जिसका अर्थ है कि यह उपलब्ध है।

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

46/89

AI/ML एक्सटेंशन सेटअप
AI/ML एक्सटेंशन सेटअप
सिलिकॉन लैब्स सिम्पलिसिटी स्टूडियो के लिए AI/ML एक्सटेंशन इंस्टॉल करना
यह मार्गदर्शिका सिलिकॉन लैब्स सिम्पलिसिटी स्टूडियो में AI/ML एक्सटेंशन की स्थापना प्रक्रिया का विवरण देती है। यह एक्सटेंशन डेवलपर्स को अपने सिलिकॉन लैब्स-आधारित प्रोजेक्ट्स में मशीन लर्निंग क्षमताओं को एकीकृत करने में सक्षम बनाता है।
आवश्यक शर्तें
स्थापना के साथ आगे बढ़ने से पहले, सुनिश्चित करें कि आपके पास निम्नलिखित हैं:
सिलिकॉन लैब्स सिम्पलिसिटी स्टूडियो: सिम्पलिसिटी स्टूडियो का नवीनतम संस्करण ज़रूरी है। इसे आधिकारिक सिलिकॉन लैब्स से डाउनलोड करें। webसाइट। समर्थित हार्डवेयर: सत्यापित करें कि आपका लक्षित सिलिकॉन लैब्स हार्डवेयर AI/ML एक्सटेंशन के साथ संगत है। समर्थित उपकरणों की सूची के लिए एक्सटेंशन के रिलीज़ नोट्स या दस्तावेज़ देखें। पायथन वातावरण (संभावित): कुछ AI/ML कार्यक्षमताएँ पायथन वातावरण पर निर्भर हो सकती हैं। पायथन 3.7 या उच्चतर संस्करण स्थापित करने की अनुशंसा की जाती है। निर्भरताओं को प्रभावी ढंग से प्रबंधित करने के लिए एक वर्चुअल वातावरण की दृढ़ता से अनुशंसा की जाती है। Git (संभावित): कुछ इंस्टॉलेशन विधियों या विशिष्ट संसाधनों तक पहुँचने के लिए Git की आवश्यकता हो सकती है। सुनिश्चित करें कि आपके सिस्टम पर Git स्थापित है।
स्थापना विधियाँ
AI/ML एक्सटेंशन को निम्नलिखित तरीकों से स्थापित किया जा सकता है:
1. सिम्पलिसिटी स्टूडियो इंस्टॉलेशन मैनेजर (अनुशंसित)
यह सबसे सरल एवं अनुशंसित दृष्टिकोण है।
1. सिंपलिसिटी स्टूडियो खोलें। 2. सहायता > सॉफ़्टवेयर अपडेट करें पर जाएँ... 3. इंस्टॉलेशन मैनेजर > SDKs पर क्लिक करें... 4. सिंपलिसिटी SDK के अंतर्गत उपलब्ध एक्सटेंशन की सूची से सिलिकॉन लैब्स AI/ML एक्सटेंशन चुनें। 5. इंस्टॉलेशन को पूरा करने के लिए ऑन-स्क्रीन संकेतों का पालन करें।
2. मैनुअल इंस्टॉलेशन (यदि लागू हो)
यदि एक्सटेंशन मैनेजर विधि के साथ मैन्युअल इंस्टॉलेशन विधि भी उपलब्ध है, तो नीचे दिए गए निर्देशों का पालन करें। ध्यान दें कि यह कम आम है।
1. https://github.com/SiliconLabsSoftware/aiml-extension/releases से वांछित AI/ML एक्सटेंशन पैकेज संस्करण डाउनलोड करें। संबंधित रिलीज़ संस्करण का लिंक एक्सटेंशन के रिलीज़ नोट्स में भी दिया गया है।
2. डाउनलोड किए गए पैकेज को "simplicity_sdkextension" फ़ोल्डर में निकालें। 3. विशिष्ट मैन्युअल इंस्टॉलेशन चरणों के लिए एक्सटेंशन के दस्तावेज़ देखें। इन चरणों में कॉपी करना शामिल हो सकता है fileविशिष्ट के लिए
सिम्पलिसिटी स्टूडियो इंस्टॉलेशन डायरेक्टरी के भीतर स्थित स्थान या इंस्टॉलेशन स्क्रिप्ट चलाना।
स्थापना के बाद के चरण
सफल स्थापना के बाद:
1. सिंपलिसिटी स्टूडियो को पुनः आरंभ करें: यह सुनिश्चित करने के लिए कि परिवर्तन प्रभावी हों, सिंपलिसिटी स्टूडियो को पुनः आरंभ करें। 2. स्थापना सत्यापित करें: यह पुष्टि करने के लिए कि AI/ML एक्सटेंशन सूचीबद्ध है, सिंपलिसिटी स्टूडियो प्राथमिकताएँ या स्थापित सॉफ़्टवेयर सूची देखें और
स्थापित। 3. दस्तावेज़ीकरण और पूर्व का अन्वेषण करेंamples: AI/ML एक्सटेंशन में दस्तावेज़ीकरण और ex शामिल होना चाहिएample परियोजनाएँ। ये संसाधन
आरंभ करने और एक्सटेंशन की सुविधाओं और API का उपयोग करने के तरीके को समझने के लिए ये महत्वपूर्ण हैं।

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

47/89

AI/ML एक्सटेंशन सेटअप
समस्या निवारण
यदि आपको इंस्टॉलेशन के दौरान कोई समस्या आती है: 1. सिम्पलिसिटी स्टूडियो लॉग्स की जाँच करें: किसी भी त्रुटि संदेश के लिए सिम्पलिसिटी स्टूडियो लॉग्स की जाँच करें। ये लॉग्स महत्वपूर्ण सुराग प्रदान कर सकते हैं।
समस्या निवारण. 2. पुनःview दस्तावेज़ीकरण: समस्या निवारण युक्तियों और ज्ञात समस्याओं के लिए AI/ML एक्सटेंशन के दस्तावेज़ीकरण और रिलीज़ नोट्स देखें। 3. सिलिकॉन लैब्स सामुदायिक फ़ोरम: सिलिकॉन लैब्स सामुदायिक फ़ोरम सामान्य समस्याओं के समाधान खोजने के लिए एक उत्कृष्ट संसाधन है।
समस्याओं का समाधान करने या अन्य उपयोगकर्ताओं और सिलिकॉन लैब्स विशेषज्ञों से सहायता मांगने में असमर्थ।
एक्सटेंशन को अपडेट करना
AI/ML एक्सटेंशन को अपडेट करने के लिए, ऊपर बताए गए इंस्टॉलेशन चरणों का पालन करें। सिम्पलिसिटी स्टूडियो आमतौर पर नए संस्करण का पता लगाएगा और आपको अपडेट प्रक्रिया में मार्गदर्शन करेगा।
विस्थापना
AI/ML एक्सटेंशन को अनइंस्टॉल करने के लिए, सिम्पलिसिटी स्टूडियो एक्सटेंशन मैनेजर का उपयोग करें, या विशिष्ट अनइंस्टॉलेशन निर्देशों के लिए एक्सटेंशन के दस्तावेज़ देखें।
महत्वपूर्ण नोट: यह मार्गदर्शिका एक सामान्य अवलोकन प्रदान करती हैview AI/ML एक्सटेंशन इंस्टॉलेशन प्रक्रिया की नवीनतम जानकारी के साथ। संस्करण-विशिष्ट कस्टम निर्देशों के लिए, जिनकी आवश्यकता हो सकती है, हमेशा रिलीज़ नोट्स देखें। कोई भी अतिरिक्त निर्देश और संबंधित URLमैनुअल निर्देशों के साथ रिलीज नोट्स भी उपलब्ध कराए जाएंगे।

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

48/89

फ्लैटबफर कनवर्टर टूल
फ्लैटबफर कनवर्टर टूल
फ्लैटबफर कनवर्टर टूल
फ्लैटबफर कनवर्टर टूल .tflite को परिवर्तित करने में मदद करता है file एक C ऐरे में, जिसे एम्बेडेड सिस्टम के लिए बाइनरी में संकलित किया जा सकता है। इस ऐरे का उपयोग माइक्रोकंट्रोलर्स API के लिए TensorFlow Lite के साथ किया जा सकता है, जो अपने tflite::GetModel() init फ़ंक्शन के लिए एक तर्क के रूप में मॉडल वाले बफ़र के लिए एक void पॉइंटर लेता है। फ्लैटबफ़र को C ऐरे में बदलने के अलावा, यह टूल .tflite में मेटाडेटा के रूप में एम्बेडेड मॉडल पैरामीटर्स को उत्सर्जित करने का समर्थन करता है। file सी प्रीप्रोसेसर मैक्रोज़ के रूप में.
इनपुट
यह टूल एक या अधिक .tflite फ़ाइलों वाली एक निर्देशिका लेता है files को इनपुट के रूप में उपयोग करें। यदि निर्देशिका में कई files, केवल पहला file वर्णानुक्रम में परिवर्तित किया जाता है।
सुझाव: यदि आपके पास एक से अधिक fileनिर्देशिका में है, लेकिन जिसे आप परिवर्तित करना चाहते हैं वह पहला नहीं है file वर्णमाला क्रम में, आप दूसरे का नाम बदल सकते हैं file.bak एक्सटेंशन जोड़ने या लक्ष्य का नाम बदलने के लिए file इसलिए।
उत्पादन
यह उपकरण अपने आउटपुट को कई फाइलों में लिखता है। files को एकल आउटपुट निर्देशिका में रखें।
मॉडल सरणी
उपकरण हमेशा एक जोड़ी उत्सर्जित करता है files sl_tflite_micro_model.c / .h, जो चरों को इस प्रकार घोषित करता है। const uint8_t sl_tflite_model_array[] जिसमें .tflite की पूरी सामग्री शामिल है file const uint32_t sl_tflite_model_len जिसमें मॉडल सरणी की लंबाई शामिल है
ऑपकोड रिज़ॉल्वर
एक हेडर file sl_tflite_micro_opcode_resolver.h भी उत्सर्जित होता है। यह file एक C प्रीप्रोसेसर मैक्रो SL_TFLITE_MICRO_OPCODE_RESOLVER(opcode_resolver, error_reporter) घोषित करता है जो एक tflite::MicroMutableOpResolver ऑब्जेक्ट को इंस्टेंटिएट करता है और मॉडल को पार्स करने के लिए आवश्यक ऑपरेटरों के सेट को स्वचालित रूप से पंजीकृत करता है। इस मैक्रो का उपयोग इष्टतम ऑपकोड रिज़ॉल्वर को स्वचालित रूप से आरंभ करने के लिए आरंभीकरण अनुक्रम के भाग के रूप में किया जा सकता है।
मॉडल पैरामीटर्स
यदि .tflite file इसके मेटाडेटा अनुभाग में मॉडल पैरामीटर, एक तीसरा हेडर शामिल है file sl_tflite_micro_model_parameters.h उत्सर्जित होता है। प्रत्येक मॉडल पैरामीटर कुंजी-मान युग्म के लिए, एक C प्रीप्रोसेसर मैक्रो SL_TFLITE_MODEL_ प्रासंगिक मान के साथ बनाया जाता है। .tflite में मॉडल पैरामीटर एम्बेड करने के बारे में अधिक जानने के लिए MLTK दस्तावेज़ देखें। file.
एसएलसी परियोजना कॉन्फ़िगरेशन एकीकरण

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

49/89

फ्लैटबफर कनवर्टर टूल
फ्लैटबफ़र कन्वर्टर टूल, सिम्पलिसिटी स्टूडियो में SLC प्रोजेक्ट कॉन्फ़िगरेशन टूल्स और SLC-CLI का उपयोग करके कमांड लाइन पर एकीकृत होता है। इन टूल्स का उपयोग करते समय, फ्लैटबफ़र कन्वर्टर स्वचालित रूप से प्रोजेक्ट की config/tflite/ डायरेक्टरी को इनपुट और autogen/ डायरेक्टरी को आउटपुट के रूप में चलाकर चलता है। दूसरे शब्दों में, कोई भी file प्रोजेक्ट में config/tflite/ डायरेक्टरी में .tflite एक्सटेंशन वाली सभी फाइलें प्रोजेक्ट जनरेट होने पर अपने आप कन्वर्ट हो जाएँगी। अगर आप Simplicity Studio का इस्तेमाल कर रहे हैं, तो एक डायरेक्टरी वॉचर यह सुनिश्चित करता है कि .tflite होने पर प्रोजेक्ट अपने आप जनरेट हो जाए। file जोड़ा या हटाया जाता है। इसका मतलब है कि .tflite को ड्रैग-एंड-ड्रॉप करना ही पर्याप्त है file प्रोजेक्ट में डालें, और यह स्वचालित रूप से सी कोड में परिवर्तित हो जाता है।
मैनुअल उपयोग
यदि पूर्ण SLC प्रोजेक्ट निर्माण चक्र के बाहर रूपांतरण आवश्यक है, तो फ्लैटबफर कनवर्टर को मैन्युअल रूप से लागू किया जा सकता है। यह आमतौर पर आवश्यक नहीं है, लेकिन उन्नत उपयोगकर्ताओं के लिए एक विकल्प है। यह केवल SLC-CLI का उपयोग करके ही किया जा सकता है, सिम्पलिसिटी स्टूडियो के उपयोगकर्ताओं को पूर्ण प्रोजेक्ट को पुनः बनाने की सलाह दी जाती है।
एसएलसी परियोजना जनरेटर के रूप में
SLC-CLI, slc generate कमांड में -tools पास करके एकल प्रोजेक्ट जनरेशन टूल चलाने का समर्थन करता है। प्रोजेक्ट जनरेशन प्रक्रिया के फ़्लैटबफ़र कन्वर्टर चरण को निम्न कमांड चलाकर स्टैंडअलोन चलाया जा सकता है:
एसएलसी जनरेट -पी -टूल्स tflite
स्टैंडअलोन SLC-CLI कमांड के रूप में
फ्लैटबफ़र कनवर्टर, प्रोजेक्ट के संदर्भ के बाहर उपयोग के लिए SLC-CLI में एक स्टैंडअलोन कमांड के रूप में भी उपलब्ध है। इनपुट और आउटपुट दोनों निर्देशिकाओं के लिए निरपेक्ष पथों का उपयोग करके निम्न कमांड निष्पादित करें।
एसएलसी tflite generate -contentFolder [/path/to/config/tflite] -generationOutput [/path/to/autogen]

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

50/89

SiWx917 के लिए I2S कॉन्फ़िगरेशन
SiWx917 के लिए I2S कॉन्फ़िगरेशन
SiWx917 प्लेटफ़ॉर्म पर ML ऑडियो अनुप्रयोगों के लिए I2S पिन कॉन्फ़िगरेशन
SiWx917 पर I2S पिन का डिफ़ॉल्ट कॉन्फ़िगरेशन, सभी AI/ML ऑडियो अनुप्रयोगों के लिए हार्डवेयर पर वर्गीकरण परिणामों के लिए अपेक्षित आउटपुट प्रदान नहीं करता है। आपको नीचे वर्णित अनुसार .slcp का उपयोग करके I2S पिन को मैन्युअल रूप से कॉन्फ़िगर करना होगा। अपने बोर्ड के लिए I2S पिन कॉन्फ़िगर करने के लिए, Simplicity Studio का उपयोग करके इन चरणों का पालन करें:
1. सॉफ़्टवेयर घटकों के माध्यम से I2S परिधीय सक्षम करें
एक बार .pintool file आपके प्रोजेक्ट फ़ोल्डर में .slcp उत्पन्न हो गया है, .slcp खोलें file सिंपलिसिटी स्टूडियो में। इसके बाद, सॉफ़्टवेयर कंपोनेंट्स टैब पर जाएँ। निम्न को खोजें और I2S परिधीय को सक्षम करें (उदाहरण के लिए, I2S0)। WiSeConnect 3 SDK v3.5.0 > डिवाइस > Si91x > MCU > परिधीय > I2S > i2s0 > कॉन्फ़िगर पर जाएँ।
2. I2S पिन कॉन्फ़िगर करें
सॉफ़्टवेयर घटक कॉन्फ़िगरेशन में, सक्षम I2S परिधीय के आगे कॉन्फ़िगर बटन पर क्लिक करें।
नीचे दी गई छवि में दिखाए अनुसार, आवश्यक I2S सिग्नल (DIN0, SCLK, और WSCLK) को उपयुक्त GPIO पिन पर असाइन करें। कॉन्फ़िगरेशन टूल उपलब्ध पिन प्रदर्शित करता है। सुनिश्चित करें कि आप केवल छवि में दर्शाए गए पिन ही चुनें।

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

51/89

SiWx917 के लिए I2S कॉन्फ़िगरेशन
3. कोड सहेजें और जनरेट करें
यह उपकरण स्वचालित रूप से आपके प्रोजेक्ट के लिए आवश्यक पिन कॉन्फ़िगरेशन कोड उत्पन्न करता है।
4. परियोजना का पुनर्निर्माण करें
यह सुनिश्चित करने के लिए कि नया पिन कॉन्फ़िगरेशन शामिल है, अपना प्रोजेक्ट बनाएँ। अधिक जानकारी के लिए, सिम्पलिसिटी स्टूडियो सॉफ़्टवेयर कंपोनेंट्स दस्तावेज़ देखें।

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

52/89

मशीन लर्निंग API संदर्भ
मशीन लर्निंग API संदर्भ
मशीन लर्निंग API संदर्भ

मॉड्यूल की सूची TensorFlow Lite Micro Init TensorFlow Lite Micro Debug Audio Feature Generator
मॉडल विशिष्ट कार्य
विशिष्ट चर और स्थिरांक का मॉडल बनाना

विवरण
TensorFlow Lite Micro रनटाइम को आरंभ करें। TensorFlow Lite Micro में लॉग इन करने के लिए अतिरिक्त SL उपयोगिताएँ।
मशीन लर्निंग ऑडियो वर्गीकरण अनुप्रयोगों में उपयोग के लिए ऑडियो सिग्नल से मेल-फ़िल्टरबैंक फ़ीचर्स निकालता है। .tflite मॉडल के नाम का उपयोग करके उत्पन्न फ़ंक्शन file. (वर्तमान में केवल SiWx917 प्लेटफ़ॉर्म के साथ प्रयोग योग्य) .tflite मॉडल के नाम का उपयोग करके उत्पन्न मॉडल विशिष्ट चर और स्थिरांक file(वर्तमान में, केवल SiWx917 प्लेटफॉर्म के साथ प्रयोग योग्य)

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

53/89

मशीन लर्निंग के लिए माइक्रोफ़ोन I2S ड्राइवर

मशीन लर्निंग के लिए माइक्रोफ़ोन I2S ड्राइवर

मशीन लर्निंग के लिए माइक्रोफ़ोन I2S ड्राइवर

SI91x पर I2S इंटरफ़ेस के लिए माइक्रोफ़ोन ड्राइवर API.
टाइपडेफ़्स

टाइपडेफ शून्य(*

sl_mic_buffer_ready_callback_t)(const void *बफर, uint32_t n_frames)
कॉलबैक फ़ंक्शन यह दर्शाता है कि sampले बफर तैयार है.

कार्य

sl_status_t sl_status_t sl_status_t sl_status_t

sl_ml_mic_init(uint32_t sample_rate, uint8_t चैनल)
माइक्रोफ़ोन प्रारंभ करें.
sl_ml_mic_deinit(शून्य)
माइक्रोफ़ोन को डी-इनिशियलाइज़ करें.
sl_ml_mic_start_streaming(void *buffer, uint32_t n_frames, sl_mic_buffer_ready_callback_t कॉलबैक)
एस पढ़ेंampमाइक्रोफ़ोन से ध्वनि कोampले बफर लगातार.
sl_ml_mic_stop(शून्य)
माइक्रोफ़ोन बंद करो.

टाइपडेफ दस्तावेज़ीकरण
sl_mic_buffer_ready_callback_t

टाइपडेफ void(* sl_mic_buffer_ready_callback_t) (const void *buffer, uint32_t n_frames) )(const void *buffer, uint32_t n_frames)

कॉलबैक फ़ंक्शन यह दर्शाता है कि sample बफ़र तैयार है। पैरामीटर

प्रकार

दिशा [में] [में]

तर्क नाम बफ़र n_frames

विवरण सूचकampले बफर. एस में ऑडियो फ़्रेम की संख्याampले बफर.

कोई नहीं लौटाता.

फ़ंक्शन दस्तावेज़ीकरण
sl_ml_mic_init

sl_status_t sl_ml_mic_init (uint32_t sample_rate, uint8_t चैनल)

माइक्रोफ़ोन प्रारंभ करें.

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

54/89

मशीन लर्निंग के लिए माइक्रोफ़ोन I2S ड्राइवर

पैरामीटर
प्रकार uint32_t uint8_t

दिशा [में] [में]

तर्क का नाम sample_rate चैनल

सफलता पर SL_STATUS_OK लौटाता है, अन्यथा शून्य नहीं

विवरण वांछितampहर्ट्ज़ में दर ऑडियो चैनलों की संख्या (1 या 2)

sl_ml_mic_deinit

sl_status_t sl_ml_mic_deinit (शून्य)

माइक्रोफ़ोन को डी-इनिशियलाइज़ करें। पैरामीटर

प्रकार शून्य

दिशा N/A

तर्क का नाम

विवरण

sl_ml_mic_start_streaming

sl_status_t sl_ml_mic_start_streaming (void * बफ़र, uint32_t n_frames, sl_mic_buffer_ready_callback_t कॉलबैक)

एस पढ़ेंampमाइक्रोफ़ोन से ध्वनि कोample बफ़र लगातार। पैरामीटर

प्रकार

दिशा

तर्क का नाम

विवरण

खालीपन *

[में]

बफर s की ओर सूचकampडेटा संग्रहीत करने के लिए le बफर। 16-बिट चैनल डेटा है

ch0 से शुरू करते हुए, क्रमिक रूप से संग्रहीत। यह बफ़र पर्याप्त बड़ा होना चाहिए

पिंग-पोंग ऑपरेशन के कारण n_frames को दोगुना रखने के लिए।

uint32_t

[में]

n_frames कॉलबैक कॉल किए जाने से पहले प्राप्त किए जाने वाले ऑडियो फ़्रेमों की संख्या।

अधिकतम मान DMADRV_MAX_XFER_COUNT द्वारा सीमित.

sl_mic_buffer_ready_callback_t [में]

कॉलबैक कॉलबैक तब कॉल किया जाता है जब s में n_framesampले बफर तैयार है.

यह फ़ंक्शन माइक्रोफ़ोन प्रारंभ करता हैampling और केवल sl_ml_mic_stop या sl_ml_mic_deinit को कॉल करने पर ही रुकता है। बफ़र का उपयोग "पिंग-पोंग" तरीके से किया जाता है, जिसका अर्थ है कि बफ़र का आधा हिस्सा s के लिए उपयोग किया जाता है।ampजबकि दूसरा आधा भाग संसाधित किया जा रहा है।

sl_ml_mic_stop

sl_status_t sl_ml_mic_stop (शून्य)

माइक्रोफ़ोन बंद करें. पैरामीटर

प्रकार शून्य

दिशा N/A

तर्क का नाम

विवरण

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

55/89

मशीन लर्निंग के लिए माइक्रोफ़ोन I2S ड्राइवर

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

56/89

मॉडल विशिष्ट कार्य
मॉडल विशिष्ट कार्य
मॉडल विशिष्ट कार्य
.tflite मॉडल के नाम का उपयोग करके उत्पन्न फ़ंक्शन fileये API वर्तमान में केवल SiWx917 प्लेटफॉर्म के साथ प्रयोग योग्य हैं।
एसएल_एमएल_ _इस में
sl_status_t sl_ml_ _मॉडल_init(शून्य)
त्रुटि रिपोर्टर और ऑपोड रिज़ॉल्वर बनाएं और दिए गए मॉडल के लिए चर आरंभ करें। से व्युत्पन्न है file आपके .tflite का नाम file. रिटर्न
मॉडल आरंभीकरण की स्थिति. सफल होने पर SL_STATUS_OK, अन्यथा, SL_STATUS_FAIL.
एसएल_एमएल_ _दौड़ना
sl_status_t sl_ml_ _मॉडल_रन(शून्य)
अनुमान के लिए मॉडल को एक बार निष्पादित करें। आउटपुट मॉडल में आंतरिक रूप से अपडेट किया जाता है। रिटर्न
मॉडल निष्पादन और अनुमान की स्थिति। सफल होने पर SL_STATUS_OK, अन्यथा, SL_STATUS_FAIL।

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

57/89

विशिष्ट चर और स्थिरांक का मॉडल बनाना
विशिष्ट चर और स्थिरांक का मॉडल बनाना
विशिष्ट चर और स्थिरांक का मॉडल बनाना
.tflite मॉडल के नाम का उपयोग करके उत्पन्न मॉडल विशिष्ट चर और स्थिरांक fileये API वर्तमान में केवल SiWx917 प्लेटफॉर्म के साथ प्रयोग योग्य हैं।
_नमूना
स्थिर TfliteMicroModel _नमूना
मॉडल ऑब्जेक्ट जिसमें मॉडल के साथ अंतःक्रिया करने के लिए अनेक विधियां हैं।
_मॉडल_स्थिति
स्थिर sl_status_t _मॉडल_स्थिति
की स्थिति पर नज़र रखता है _model जब आरंभ किया गया और निष्पादित किया गया.
_मॉडल_फ्लैटबफर
uint8_t* _मॉडल_फ्लैटबफर
द्वारा संदर्भित मॉडल के कच्चे फ्लैटबफर का सूचक _नमूना
_मॉडल_फ्लैटबफर_लंबाई
स्थिरांक int _मॉडल_फ्लैटबफर_लंबाई
कच्चे फ्लैटबफर की लंबाई को संदर्भित किया जाता है _मॉडल_फ्लैटबफर

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

58/89

ऑडियो फ़ीचर जनरेटर

ऑडियो फ़ीचर जनरेटर

ऑडियो फ़ीचर जनरेटर

ऑडियो फीचर जनरेटर, ऑडियो सिग्नल से मेल-फिल्टरबैंक फीचर निकालता है, जिसका उपयोग ऑडियो स्रोत के रूप में माइक्रोफोन का उपयोग करके मशीन लर्निंग ऑडियो वर्गीकरण अनुप्रयोगों के साथ किया जाता है।
फ़ीचर जनरेशन
मेल स्केल मानव कान के व्यवहार की नकल करता है, जिसमें निम्न आवृत्तियों के लिए उच्च विभेदन क्षमता होती है और उच्च आवृत्तियों के प्रति कम विभेदक क्षमता होती है। मेल फ़िल्टरबैंक बनाने के लिए, सिग्नल पर कई फ़िल्टर लगाए जाते हैं, जहाँ निम्न चैनल फ़िल्टर का पासबैंड संकीर्ण होता है और उच्च आवृत्तियों की ओर बढ़ता है।
ऑडियो सिग्नल को विंडो फ़ंक्शन (हैमिंग) का उपयोग करके छोटे ओवरलैपिंग सेगमेंट में विभाजित किया जाता है। प्रत्येक सेगमेंट पर फ़ास्ट फ़ूरियर ट्रांसफ़ॉर्म (FFT) लागू किया जाता है ताकि सेगमेंट का फ़्रीक्वेंसी स्पेक्ट्रम और फिर पावर स्पेक्ट्रम प्राप्त किया जा सके। आउटपुट पर मेल-स्केल्ड फ़िल्टर की एक श्रृंखला लागू करके फ़िल्टरबैंक बनाया जाता है। अंत में, निचले चैनलों के बीच संवेदनशीलता बढ़ाने के लिए लॉग को आउटपुट पर लागू किया जाता है।

ऑडियो सिग्नल

विंडोइंग

एफएफटी

मेल फिल्टर

लकड़ी का लट्ठा

लॉग-स्केल्ड मेल फ़िल्टरबैंक

फ़ीचर ऐरे को अनुक्रमिक खंडों के फ़िल्टरबैंकों को एक साथ रखकर स्पेक्ट्रोग्राम बनाने के लिए तैयार किया जाता है। ऐरे को इस प्रकार क्रमबद्ध किया जाता है कि पहला तत्व सबसे पुराने फ़िल्टरबैंक का पहला चैनल हो।
प्रयोग
sl_ml_audio_feature_generation_init(), sl_ml_audio_feature_generation_config.h में कॉन्फ़िगरेशन के आधार पर फ़ीचर जेनरेशन के लिए फ़्रंटएंड को इनिशियलाइज़ करता है। यह माइक्रोफ़ोन को स्ट्रीमिंग मोड में भी इनिशियलाइज़ और स्टार्ट करता है, जिससे ऑडियो स्ट्रीम को स्ट्रीम किया जाता है।ampएक रिंग-बफर में लेस.
यदि फ़्लैटबफ़र कन्वर्टर टूल और एक संगत TensorFlow Lite मॉडल के साथ उपयोग किया जाता है, तो कॉन्फ़िगरेशन डिफ़ॉल्ट रूप से TensorFlow Lite मॉडल से लिया जाता है। इस व्यवहार को ओवरराइड करने और कॉन्फ़िगरेशन हेडर से मैन्युअल रूप से कॉन्फ़िगर किए गए विकल्पों का उपयोग करने के लिए कॉन्फ़िगरेशन विकल्प SL_ML_AUDIO_FEATURE_GENERATION_MANUAL_CONFIG_ENABLE सेट करें।
sl_ml_audio_feature_generation_update_features() को कॉल करने पर फ़ीचर्स जनरेट होते हैं। इसके बाद, फ़ीचर जनरेटर, फ़ंक्शन के अंतिम कॉल से लेकर वर्तमान समय तक, ऑडियो के यथासंभव नए सेगमेंट के लिए फ़ीचर्स को अपडेट करता है। नए फ़ीचर्स फ़ीचर बफ़र में जोड़े जाते हैं, और सबसे पुराने फ़ीचर्स को इस तरह से प्रतिस्थापित करते हैं कि फ़ीचर ऐरे में हमेशा सबसे अद्यतित फ़ीचर्स शामिल होते हैं।

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

59/89

ऑडियो फ़ीचर जनरेटर
ध्यान दें कि यदि ऑडियो बफर सभी ऑडियो फ़ाइलों को रखने के लिए पर्याप्त बड़ा नहीं है, तो यह समस्या उत्पन्न हो सकती है।ampsl_ml_audio_feature_generation_update_features() के कॉल के बीच फ़ीचर जनरेट करने के लिए आवश्यक डेटा, ऑडियो डेटा को केवल अधिलेखित कर देगा। जनरेटर कोई त्रुटि नहीं लौटाएगा। इसलिए, ऑडियो बफ़र को सभी नए डेटा को संग्रहीत करने के लिए पर्याप्त बड़ा होना चाहिए।ampअद्यतन सुविधाओं के बीच डेटा का नेतृत्व किया।
उत्पन्न सुविधाओं को पुनः प्राप्त करने के लिए, या तो sl_ml_audio_feature_generation_get_features_raw(), sl_ml_audio_feature_generation_get_features_quantized(), या sl_ml_audio_feature_generation_fill_tensor() को कॉल किया जाना चाहिए।
Example
TensorFlow Lite Micro के साथ उपयोग किए जाने पर, ऑडियो फ़ीचर जनरेटर का उपयोग sl_ml_audio_feature_generation_fill_tensor() का उपयोग करके सीधे टेंसर भरने के लिए किया जा सकता है। हालाँकि, मॉडल को अनुमान के लिए उपयोग किए जाने वाले फ़ीचर जनरेटर कॉन्फ़िगरेशन का उपयोग करके प्रशिक्षित किया जाना चाहिए, जिसे sl_ml_audio_feature_generation_config.h में कॉन्फ़िगर किया गया है।
#शामिल करें “sl_tflite_micro_init.h” #शामिल करें “sl_ml_audio_feature_generation.h”
शून्य मुख्य(शून्य) {
sl_ml_audio_feature_generation_init();
जबकि(1){ sl_ml_audio_feature_generation_update_features();
यदि(do_inference){ sl_ml_audio_feature_generation_fill_tensor(sl_tflite_micro_get_input_tensor()); sl_tflite_micro_get_interpreter()->Invoke();
}

} }
ध्यान दें कि फ़ीचर्स को अपडेट करना और उन्हें पुनर्प्राप्त करना स्वतंत्र रूप से किया जा सकता है। ऑडियो बफ़र को ओवरराइट करने से बचने के लिए फ़ीचर्स को अक्सर अपडेट किया जाना चाहिए, जबकि उन्हें पुनर्प्राप्त करना केवल अनुमान लगाने से पहले ही किया जाना चाहिए।
ऑडियो फीचर जनरेटर, ऑडियो सिग्नल से मेल-फिल्टरबैंक फीचर निकालता है, जिसका उपयोग ऑडियो स्रोत के रूप में माइक्रोफोन का उपयोग करके मशीन लर्निंग ऑडियो वर्गीकरण अनुप्रयोगों के साथ किया जाता है।
फ़ीचर जनरेशन
मेल स्केल मानव कान के व्यवहार की नकल करता है, जिसमें निम्न आवृत्तियों के लिए उच्च विभेदन क्षमता होती है और उच्च आवृत्तियों के प्रति कम विभेदक क्षमता होती है। मेल फ़िल्टरबैंक बनाने के लिए, सिग्नल पर कई फ़िल्टर लगाए जाते हैं, जहाँ निम्न चैनल फ़िल्टर का पासबैंड संकीर्ण होता है और उच्च आवृत्तियों की ओर बढ़ता है।
ऑडियो सिग्नल को विंडो फ़ंक्शन (हैमिंग) का उपयोग करके छोटे ओवरलैपिंग सेगमेंट में विभाजित किया जाता है। प्रत्येक सेगमेंट पर फ़ास्ट फ़ूरियर ट्रांसफ़ॉर्म (FFT) लागू किया जाता है ताकि सेगमेंट का फ़्रीक्वेंसी स्पेक्ट्रम और फिर पावर स्पेक्ट्रम प्राप्त किया जा सके। आउटपुट पर मेल-स्केल्ड फ़िल्टर की एक श्रृंखला लागू करके फ़िल्टरबैंक बनाया जाता है। अंत में, निचले चैनलों के बीच संवेदनशीलता बढ़ाने के लिए लॉग को आउटपुट पर लागू किया जाता है।

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

60/89

ऑडियो फ़ीचर जनरेटर

ऑडियो सिग्नल

विंडोइंग

एफएफटी

मेल फिल्टर

लकड़ी का लट्ठा

लॉग-स्केल्ड मेल फ़िल्टरबैंक

फ़ीचर ऐरे को अनुक्रमिक खंडों के फ़िल्टरबैंकों को एक साथ रखकर स्पेक्ट्रोग्राम बनाने के लिए तैयार किया जाता है। ऐरे को इस प्रकार क्रमबद्ध किया जाता है कि पहला तत्व सबसे पुराने फ़िल्टरबैंक का पहला चैनल हो।
प्रयोग
sl_ml_audio_feature_generation_init(), sl_ml_audio_feature_generation_config_si91x.h में कॉन्फ़िगरेशन के आधार पर फ़ीचर जेनरेशन के लिए फ़्रंटएंड को इनिशियलाइज़ करता है। यह माइक्रोफ़ोन को स्ट्रीमिंग मोड में भी इनिशियलाइज़ और स्टार्ट करता है, जिससे ऑडियो स्ट्रीम को स्ट्रीम किया जाता है।ampएक रिंग-बफर में लेस.
यदि फ़्लैटबफ़र कन्वर्टर टूल और एक संगत TensorFlow Lite मॉडल के साथ उपयोग किया जाता है, तो कॉन्फ़िगरेशन डिफ़ॉल्ट रूप से TensorFlow Lite मॉडल से लिया जाता है। इस व्यवहार को ओवरराइड करने और कॉन्फ़िगरेशन हेडर से मैन्युअल रूप से कॉन्फ़िगर किए गए विकल्पों का उपयोग करने के लिए कॉन्फ़िगरेशन विकल्प SL_ML_AUDIO_FEATURE_GENERATION_MANUAL_CONFIG_ENABLE सेट करें।
sl_ml_audio_feature_generation_update_features() को कॉल करने पर फ़ीचर्स जनरेट होते हैं। इसके बाद, फ़ीचर जनरेटर, फ़ंक्शन के अंतिम कॉल से लेकर वर्तमान समय तक, ऑडियो के यथासंभव नए सेगमेंट के लिए फ़ीचर्स को अपडेट करता है। नए फ़ीचर्स फ़ीचर बफ़र में जोड़े जाते हैं, और सबसे पुराने फ़ीचर्स को इस तरह से प्रतिस्थापित करते हैं कि फ़ीचर ऐरे में हमेशा सबसे अद्यतित फ़ीचर्स शामिल होते हैं।
ध्यान दें कि यदि ऑडियो बफर सभी ऑडियो फ़ाइलों को रखने के लिए पर्याप्त बड़ा नहीं है, तो यह समस्या उत्पन्न हो सकती है।ampsl_ml_audio_feature_generation_update_features() के कॉल के बीच फ़ीचर जनरेट करने के लिए आवश्यक डेटा, ऑडियो डेटा को केवल अधिलेखित कर देगा। जनरेटर कोई त्रुटि नहीं लौटाएगा। इसलिए, ऑडियो बफ़र को सभी नए डेटा को संग्रहीत करने के लिए पर्याप्त बड़ा होना चाहिए।ampअद्यतन सुविधाओं के बीच डेटा का नेतृत्व किया।
उत्पन्न सुविधाओं को पुनः प्राप्त करने के लिए, या तो sl_ml_audio_feature_generation_get_features_raw(), sl_ml_audio_feature_generation_get_features_quantized(), या sl_ml_audio_feature_generation_fill_tensor() को कॉल किया जाना चाहिए।
Example
TensorFlow Lite Micro के साथ उपयोग किए जाने पर, ऑडियो फ़ीचर जनरेटर का उपयोग sl_ml_audio_feature_generation_fill_tensor() का उपयोग करके सीधे टेंसर भरने के लिए किया जा सकता है। हालाँकि, मॉडल को अनुमान के लिए उपयोग किए जाने वाले फ़ीचर जनरेटर कॉन्फ़िगरेशन का उपयोग करके प्रशिक्षित किया जाना चाहिए, जिसे sl_ml_audio_feature_generation_config_si91x.h में कॉन्फ़िगर किया गया है।

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

61/89

ऑडियो फ़ीचर जनरेटर

#शामिल करें “sl_tflite_micro_init.h” #शामिल करें “sl_ml_audio_feature_generation_si91x.h”
शून्य मुख्य(शून्य) {
sl_ml_audio_feature_generation_init();
जबकि(1){ sl_ml_audio_feature_generation_update_features();
यदि(do_inference){ sl_ml_audio_feature_generation_fill_tensor(sl_tflite_micro_get_input_tensor()); sl_tflite_micro_get_interpreter()->Invoke();
}

} }
ध्यान दें कि फ़ीचर्स को अपडेट करना और उन्हें पुनर्प्राप्त करना स्वतंत्र रूप से किया जा सकता है। ऑडियो बफ़र को ओवरराइट करने से बचने के लिए फ़ीचर्स को अक्सर अपडेट किया जाना चाहिए, जबकि उन्हें पुनर्प्राप्त करना केवल अनुमान लगाने से पहले ही किया जाना चाहिए।
टाइपडेफ़्स

टाइपडेफ शून्य(*

sl_ml_audio_feature_generation_mic_callback_t)(void *arg, const int16_t *data, uint32_t n_frames)
ऑडियो फीचर निर्माण के लिए माइक्रोफ़ोन कॉलबैक फ़ंक्शन प्रकार.

चर

int16_t *

sl_ml_audio_feature_generation_audio_buffer
ऑडियो फीचर निर्माण के लिए बाह्य ऑडियो बफर.

कार्य

sl_status_t sl_status_t sl_status_t sl_status_t sl_status_t
int यहाँ
int शून्य

sl_ml_audio_feature_generation_init()
फीचर जेनरेशन के लिए माइक्रोफोन को ऑडियो स्रोत के रूप में सेट करें और फीचर जेनरेशन के लिए फ्रंटएंड को आरंभ करें।
sl_ml_audio_feature_generation_frontend_init()
Sl_ml_audio_feature_generation_config.h में कॉन्फ़िगरेशन के अनुसार माइक्रोफ़्रंटएंड को आरंभ करें।
sl_ml_audio_feature_generation_update_features()
इस फ़ंक्शन के अंतिम कॉल के बाद से गायब फ़ीचर स्लाइस के साथ फ़ीचर बफ़र को अपडेट करें।
sl_ml_audio_feature_generation_get_features_raw(uint16_t *बफर, size_t num_elements)
uint16 प्रकार के रूप में सुविधाओं को प्राप्त करें और उन्हें प्रदान किए गए बफर में कॉपी करें।
sl_ml_audio_feature_generation_fill_tensor(TfLiteTensor *input_tensor)
TensorFlow टेंसर को int8 प्रकार के फीचर डेटा से भरें।
sl_ml_audio_feature_generation_get_new_feature_slice_count()
Sl_ml_audio_feature_generation_get_features_raw या sl_ml_audio_feature_generation_fill_tensor पर अंतिम कॉल के बाद से अपडेट किए गए नए या अनफ़ेच्ड फ़ीचर स्लाइस की संख्या लौटाएँ।
sl_ml_audio_feature_generation_get_feature_buffer_size()
फ़ीचर बफ़र आकार लौटाएँ.
sl_ml_audio_feature_generation_reset()
ऑडियो सुविधा जनरेटर की स्थिति को रीसेट करें.

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

62/89

ऑडियो फ़ीचर जनरेटर

sl_स्थिति_t

sl_ml_audio_feature_generation_init_with_buffer(int16_t *बफर, int n_frames)
उपयोगकर्ता द्वारा प्रदत्त बफर के साथ ऑडियो फीचर जनरेशन आरंभ करें।

sl_स्थिति_t

sl_ml_audio_feature_generation_get_features_raw_float32(फ्लोट *बफर, size_t num_elements)
सुविधाओं को float32 प्रकार के रूप में प्राप्त करें और उन्हें प्रदान किए गए बफर में कॉपी करें।

sl_स्थिति_t

sl_ml_audio_feature_generation_get_features_scaled(फ्लोट *बफर, size_t num_elements, फ्लोट स्केलर)
सुविधाओं को पुनः प्राप्त करें, उन्हें दिए गए स्केलर द्वारा स्केल करें, और फ्लोट बफर भरें।

sl_स्थिति_t

sl_ml_audio_feature_generation_get_features_mean_std_normalized(फ्लोट *बफर, size_t num_elements)
विशेषताओं को पुनः प्राप्त करें, उनके माध्य और मानक विचलन के आसपास केंद्रित करके उन्हें सामान्यीकृत करें और फ्लोट बफर भरें।

sl_स्थिति_t

sl_ml_audio_feature_generation_activity_detected()
यदि गतिविधि पहचान ब्लॉक ने ऑडियो स्ट्रीम में गतिविधि का पता लगाया है तो लौटाएँ।

sl_स्थिति_t

sl_ml_audio_feature_generation_set_mic_callback(sl_ml_audio_feature_generation_mic_callback_t कॉलबैक, void *arg)
ऑडियो सुविधा निर्माण के लिए माइक्रोफ़ोन कॉलबैक सेट करें.

टाइपडेफ दस्तावेज़ीकरण
sl_ml_audio_feature_generation_mic_callback_t

टाइपडेफ 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)

ऑडियो फ़ीचर जनरेशन के लिए माइक्रोफ़ोन कॉलबैक फ़ंक्शन प्रकार। पैरामीटर

प्रकार

दिशा N/AN/AN/A

तर्क नाम arg डेटा n_frames

विवरण: कॉलबैक को दिया गया उपयोगकर्ता-परिभाषित तर्क। ऑडियो डेटा बफ़र का पॉइंटर। बफ़र में ऑडियो फ़्रेमों की संख्या।

परिवर्तनीय दस्तावेज़ीकरण
sl_ml_audio_feature_generation_audio_buffer
int16_t* sl_ml_audio_feature_generation_audio_buffer ऑडियो फीचर जेनरेशन के लिए बाहरी ऑडियो बफर।
फ़ंक्शन दस्तावेज़ीकरण
sl_ml_audio_feature_generation_init
sl_status_t sl_ml_audio_feature_generation_init () फ़ीचर जनरेशन के लिए माइक्रोफ़ोन को ऑडियो स्रोत के रूप में सेट करें और फ़ीचर जनरेशन के लिए फ़्रंटएंड को इनिशियलाइज़ करें। रिटर्न
कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

63/89

ऑडियो फ़ीचर जनरेटर SL_STATUS_OK सफलता के लिए SL_STATUS_FAIL

sl_ml_audio_feature_generation_frontend_init
sl_status_t sl_ml_audio_feature_generation_frontend_init ()
Sl_ml_audio_feature_generation_config.h में कॉन्फ़िगरेशन के अनुसार माइक्रोफ़्रंटएंड को प्रारंभ करें। Sl_ml_audio_feature_generation_config_si91x.h में कॉन्फ़िगरेशन के अनुसार माइक्रोफ़्रंटएंड को प्रारंभ करें। रिटर्न
सफलता के लिए SL_STATUS_OK SL_STATUS_FAIL

sl_ml_audio_feature_generation_update_features
sl_status_t sl_ml_audio_feature_generation_update_features ()
इस फ़ंक्शन के अंतिम कॉल के बाद से अनुपलब्ध फ़ीचर स्लाइस के साथ फ़ीचर बफ़र को अपडेट करें। फ़ीचर प्राप्त करने के लिए, sl_ml_audio_feature_generation_get_features_raw या sl_ml_audio_feature_generation_fill_tensor को कॉल करें। नोट
यह सुनिश्चित करने के लिए कि ऑडियो बफ़र ओवरराइट न हो, इस फ़ंक्शन को अक्सर कॉल करने की आवश्यकता होती है।
सफलता के लिए SL_STATUS_OK SL_STATUS_EMPTY कोई नई स्लाइस की गणना नहीं की गई

sl_ml_audio_feature_generation_get_features_raw

sl_status_t sl_ml_audio_feature_generation_get_features_raw (uint16_t * बफर, size_t num_elements)

uint16 प्रकार के अनुसार सुविधाओं को प्राप्त करें और उन्हें प्रदान किए गए बफ़र में कॉपी करें। पैरामीटर

प्रकार

दिशा

तर्क का नाम

विवरण

uint16_t [बाहर] * size_t [अंदर]

बफर

फ़ीचर डेटा संग्रहीत करने के लिए बफर का पॉइंटर

num_elements बफर के आकार के अनुरूप तत्वों की संख्या; यदि यह संपूर्ण फीचर बफर को संग्रहीत करने के लिए पर्याप्त नहीं है तो फ़ंक्शन एक त्रुटि के साथ वापस आ जाएगा।

नोट: यह फ़ंक्शन संपूर्ण बफ़र को अधिलेखित कर देता है।
सफलता के लिए SL_STATUS_OK लौटाता है SL_STATUS_INVALID_PARAMETER num_elements बहुत छोटा है

sl_ml_audio_feature_generation_fill_tensor

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

64/89

ऑडियो फ़ीचर जनरेटर

sl_status_t sl_ml_audio_feature_generation_fill_tensor (TfLiteTensor * input_tensor)

TensorFlow टेंसर को int8 प्रकार के फ़ीचर डेटा से भरें। पैरामीटर

प्रकार TfLiteTensor *

दिशा [में]

तर्क का नाम input_tensor

विवरण विशेषताओं से भरने के लिए इनपुट टेंसर.

int8 मान माइक्रोफ्रंटेंड आउटपुट को परिमाणित करके प्राप्त किए जाते हैं, जो 0 से 670 की सीमा में होने की उम्मीद है, तथा -128 से 127 की सीमा में हस्ताक्षरित पूर्णांक संख्याओं में परिवर्तित किए जाते हैं।
टिप्पणी
यह फ़ंक्शन संपूर्ण इनपुट टेंसर को अधिलेखित करता है। kTfLiteInt8 प्रकार के टेंसर का समर्थन करता है।
रिटर्न
सफलता के लिए SL_STATUS_OK SL_STATUS_INVALID_PARAMETER टेंसर प्रकार या आकार कॉन्फ़िगरेशन के अनुरूप नहीं है

sl_ml_audio_feature_generation_get_new_feature_slice_count
int sl_ml_audio_feature_generation_get_new_feature_slice_count ()
Sl_ml_audio_feature_generation_get_features_raw या sl_ml_audio_feature_generation_fill_tensor को अंतिम कॉल के बाद से अपडेट किए गए नए या अनफ़ेच्ड फ़ीचर स्लाइस की संख्या लौटाएँ। लौटाता है
अनफ़ेच्ड फ़ीचर स्लाइस की संख्या

sl_ml_audio_feature_generation_get_feature_buffer_size
int sl_ml_audio_feature_generation_get_feature_buffer_size ()
फ़ीचर बफ़र आकार लौटाएँ.
फ़ीचर बफ़र का आकार

sl_ml_audio_feature_generation_reset
void sl_ml_audio_feature_generation_reset () ऑडियो फ़ीचर जनरेटर की स्थिति को रीसेट करें।

sl_ml_audio_feature_generation_init_with_buffer
sl_status_t sl_ml_audio_feature_generation_init_with_buffer (int16_t * बफर, int n_frames)

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

65/89

ऑडियो फ़ीचर जनरेटर

उपयोगकर्ता द्वारा प्रदत्त बफ़र के साथ ऑडियो फ़ीचर जनरेशन आरंभ करें। पैरामीटर

int16_t * int टाइप करें

दिशा [में] [में]

तर्क नाम बफ़र n_frames

विवरण फ़ीचर निर्माण के लिए उपयोग किए जाने वाले ऑडियो बफ़र का सूचक। बफ़र में ऑडियो फ़्रेमों की संख्या।

सफलता पर SL_STATUS_OK लौटाता है, अन्यथा SL_STATUS_FAIL लौटाता है।

sl_ml_audio_feature_generation_get_features_raw_float32

sl_status_t sl_ml_audio_feature_generation_get_features_raw_float32 (फ्लोट * बफर, size_t num_elements)

सुविधाओं को float32 प्रकार के रूप में प्राप्त करें और उन्हें प्रदान किए गए बफ़र में कॉपी करें। पैरामीटर

प्रकार

दिशा

तर्क का नाम

विवरण

तैर कर बाहर निकलना]

बफर

फ़ीचर डेटा संग्रहीत करने के लिए बफर का पॉइंटर

आकार_टी [इंच]

num_elements बफर के आकार के अनुरूप तत्वों की संख्या; यदि यह संपूर्ण फीचर बफर को संग्रहीत करने के लिए पर्याप्त नहीं है तो फ़ंक्शन एक त्रुटि के साथ वापस आ जाएगा।

नोट: यह फ़ंक्शन संपूर्ण बफ़र को अधिलेखित कर देता है।
सफलता के लिए SL_STATUS_OK लौटाता है SL_STATUS_INVALID_PARAMETER num_elements बहुत छोटा है

sl_ml_audio_feature_generation_get_features_scaled

sl_status_t sl_ml_audio_feature_generation_get_features_scaled (फ्लोट * बफर, size_t num_elements, फ्लोट स्केलर)

फीचर्स को पुनः प्राप्त करें, उन्हें दिए गए स्केलर के अनुसार स्केल करें, और फ्लोट बफर भरें। पैरामीटर

प्रकार

दिशा

तर्क का नाम

विवरण

तैर कर बाहर निकलना]

बफर

स्केल किए गए फ़ीचर डेटा को संग्रहीत करने के लिए बफर का पॉइंटर

आकार_टी [इंच]

num_elements बफर के आकार के अनुरूप तत्वों की संख्या; यदि यह संपूर्ण फीचर बफर को संग्रहीत करने के लिए पर्याप्त नहीं है तो फ़ंक्शन एक त्रुटि के साथ वापस आ जाएगा।

तैरना [अंदर]

scaler

प्रत्येक विशेषता मान पर लागू करने के लिए स्केलिंग कारक.

बफर = (फ्लोट)uint16_features_data * स्केलर नोट
यह फ़ंक्शन संपूर्ण बफ़र को अधिलेखित कर देता है।

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

66/89

ऑडियो फ़ीचर जनरेटर
सफलता के लिए SL_STATUS_OK लौटाता है SL_STATUS_INVALID_PARAMETER num_elements बहुत छोटा है

sl_ml_audio_feature_generation_get_features_mean_std_normalized

sl_status_t sl_ml_audio_feature_generation_get_features_mean_std_normalized (फ्लोट * बफर, size_t num_elements)

विशेषताओं को पुनः प्राप्त करें, उनके माध्य और मानक विचलन के आसपास केंद्रित करके उन्हें सामान्यीकृत करें और फ़्लोट बफ़र भरें। पैरामीटर

प्रकार

दिशा

तर्क का नाम

विवरण

तैर कर बाहर निकलना]

बफर

सामान्यीकृत फ़ीचर डेटा संग्रहीत करने के लिए बफर का पॉइंटर

आकार_टी [इंच]

num_elements बफर के आकार के अनुरूप तत्वों की संख्या; यदि यह संपूर्ण फीचर बफर को संग्रहीत करने के लिए पर्याप्त नहीं है तो फ़ंक्शन एक त्रुटि के साथ वापस आ जाएगा।

बफर = ((फ्लोट)uint16_features_data – माध्य(uint16_features_data)) / std(uint16_features_data) नोट
यह फ़ंक्शन संपूर्ण बफ़र को अधिलेखित कर देता है।
सफलता के लिए SL_STATUS_OK SL_STATUS_INVALID_PARAMETER num_elements बहुत छोटा है

sl_ml_audio_feature_generation_activity_detected
sl_status_t sl_ml_audio_feature_generation_activity_detected ()
यदि गतिविधि पहचान ब्लॉक ने ऑडियो स्ट्रीम में गतिविधि का पता लगाया है, तो लौटाएँ। गतिविधि का पता लगाने के लिए sl_ml_audio_feature_generation_update_features() को समय-समय पर कॉल किया जाना चाहिए। नोट
इस API का उपयोग करने के लिए SL_ML_FRONTEND_ACTIVITY_DETECTION_ENABLE का मान 1 होना आवश्यक है। इस API को कॉल करने के बाद आंतरिक स्थिति रीसेट हो जाती है। अर्थात, यदि यह API SL_STATUS_OK लौटाता है, तो इस API को दोबारा कॉल करने पर SL_STATUS_IN_PROGRESS लौटाएगा, जब तक कि नई गतिविधि का पता न चल जाए। यदि गतिविधि का पता चला है तो SL_STATUS_OK लौटाता है; यदि कोई गतिविधि नहीं मिली है तो SL_STATUS_IN_PROGRESS लौटाता है; यदि गतिविधि पहचान ब्लॉक सक्षम नहीं है, तो SL_STATUS_NOT_AVAILABLE लौटाता है।

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) ऑडियो फ़ीचर जनरेशन के लिए माइक्रोफ़ोन कॉलबैक सेट करें। पैरामीटर
कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

67/89

ऑडियो फ़ीचर जनरेटर

प्रकार sl_ml_audio_feature_generation_mic_callback_t void *

दिशा N/AN/A

तर्क नाम कॉलबैक आर्ग

विवरण माइक्रोफ़ोन कॉलबैक के लिए फ़ंक्शन पॉइंटर. कॉलबैक को पास करने के लिए उपयोगकर्ता-परिभाषित तर्क.

सफलता या विफलता का संकेत देने वाला sl_status_t स्थिति कोड लौटाता है।

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

68/89

छवि सुविधा जनरेटर

छवि सुविधा जनरेटर

छवि सुविधा जनरेटर

छवि फीचर जनरेटर कैमरे से ली गई इनपुट छवि को प्रोसेस करता है और छवि स्रोत के रूप में कैमरे का उपयोग करके मशीन लर्निंग छवि वर्गीकरण अनुप्रयोगों के साथ उपयोग करने के लिए आवश्यक सुविधाओं को निकालता है।
फ़ीचर जनरेशन
कैप्चर की गई छवि को अनुप्रयोग से प्रयुक्त मॉडल कॉन्फ़िगरेशन के आधार पर क्रॉप और मीन-एसटीडी सामान्यीकरण का उपयोग करके पूर्व-संसाधित किया गया है।

छवि

काटना

माध्य जांचें

मानकीकरण

नमूना

प्रयोग
sl_ml_image_feature_generation_init(), sl_ml_image_feature_generation_config.h में कॉन्फ़िगरेशन के आधार पर फ़ीचर जनरेशन को इनिशियलाइज़ करता है। यह कैमरे को स्ट्रीमिंग मोड में भी इनिशियलाइज़ और स्टार्ट करता है, जिससे इमेज कोampलेस को पिंग-पोंग-बफर में बदल दिया।
जब sl_ml_image_feature_generation_fill_tensor() को कॉल किया जाता है, तो छवि को पूर्व-संसाधित किया जाता है और इनपुट टेंसर में भर दिया जाता है।
उत्पन्न सुविधाओं को पुनः प्राप्त करने के लिए sl_ml_image_feature_generation_fill_tensor() को कॉल किया जाना चाहिए।
Example
TensorFlow Lite Micro के साथ उपयोग किए जाने पर, इमेज फ़ीचर जनरेटर का उपयोग sl_ml_image_feature_generation_fill_tensor() का उपयोग करके सीधे टेंसर भरने के लिए किया जा सकता है। हालाँकि, मॉडल को अनुमान के लिए उपयोग किए जाने वाले फ़ीचर जनरेटर कॉन्फ़िगरेशन का उपयोग करके प्रशिक्षित किया जाना चाहिए, जिसे sl_ml_image_feature_generation_config.h में कॉन्फ़िगर किया गया है।

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

69/89

छवि सुविधा जनरेटर

#शामिल करें “sl_tflite_micro_init.h” #शामिल करें “sl_ml_image_feature_generation.h”
शून्य मुख्य(शून्य) {
sl_ml_image_feature_generation_init();
जबकि(1){ * यदि(do_inference){ sl_ml_image_feature_generation_fill_tensor(sl_tflite_micro_get_input_tensor()); sl_tflite_micro_get_interpreter()->Invoke(); }

} }

कार्य

sl_status_t sl_status_t sl_status_t
शून्य शून्य शून्य sl_status_t sl_status_t sl_status_t sl_status_t शून्य

sl_ml_image_feature_generation_init()
फीचर निर्माण के लिए कैमरे को छवि स्रोत के रूप में सेट करें।
sl_ml_image_feature_generation_fill_tensor(TfLiteTensor *input_tensor)
TensorFlow टेंसर को फ़ीचर डेटा से भरें। मॉडल के लिए इनपुट इमेज का डेटा प्रकार मॉडल कॉन्फ़िगरेशन के आधार पर चुना जाएगा।
sl_ml_initialize_arducam_camera()
फीचर निर्माण के लिए ऑडियोकैम को छवि स्रोत के रूप में सेट करें और कॉन्फ़िगरेशन के साथ कैमरा को आरंभ करें।
sl_ml_dump_image(const uint8_t *image_data, uint32_t image_length)
JLink स्ट्रीम को आउटपुट नोड के रूप में सेट करें। छवि डेटा JLink के माध्यम से पायथन इंटरफ़ेस पर स्ट्रीम किया जाता है।
sl_ml_retrieve_next_camera_image(uint8_t **image_data, uint32_t *image_size)
ऑडियोकैम से कैप्चर किए गए पिंग-पोग बफ़र से छवि प्राप्त करें। छवि डेटा को गंतव्य पॉइंटर में संग्रहीत करें।
sl_ml_image_crop_lut_init()
छवि को काटने के लिए लुकअप तालिका आरंभ करता है।
sl_ml_image_feature_generation_get_image_scaled(uint8_t *image_data, float *buffer, size_t num_elements, float scaler)
सुविधाओं को पुनः प्राप्त करें, उन्हें दिए गए स्केलर द्वारा स्केल करें, और फ्लोट बफर भरें।
sl_ml_get_image_mean(uint8_t *in_cam_image, फ्लोट *mean, फ्लोट *mean2, size_t num_elements)
इनपुट छवि का माध्य और माध्य वर्ग की गणना करता है।
sl_ml_image_feature_generation_get_image_mean_std_normalized(uint8_t *image_data, float *buffer, float mean, float mean2, size_t num_elements)
विशेषताओं को पुनः प्राप्त करें, उनके माध्य और मानक विचलन के आसपास केंद्रित करके उन्हें सामान्यीकृत करें और फ्लोट बफर भरें।
sl_ml_image_feature_generation_get_image_raw_float32(uint8_t *image_data, float *buffer, size_t num_elements)
सुविधाओं को float32 प्रकार के रूप में प्राप्त करें और उन्हें प्रदान किए गए बफर में कॉपी करें।
sl_ml_image_feature_generation_reset()
छवि सुविधा जनरेटर की स्थिति को रीसेट करें.

फ़ंक्शन दस्तावेज़ीकरण
sl_ml_image_feature_generation_init

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

70/89

छवि सुविधा जनरेटर

sl_status_t sl_ml_image_feature_generation_init ()
फ़ीचर जनरेशन के लिए कैमरे को इमेज स्रोत के रूप में सेट करें।
सफलता के लिए SL_STATUS_OK SL_STATUS_FAIL

sl_ml_image_feature_generation_fill_tensor

sl_status_t sl_ml_image_feature_generation_fill_tensor (TfLiteTensor * input_tensor)

TensorFlow टेंसर को फ़ीचर डेटा से भरें। मॉडल के लिए इनपुट इमेज का डेटा प्रकार मॉडल कॉन्फ़िगरेशन के आधार पर चुना जाएगा। पैरामीटर

प्रकार TfLiteTensor *

दिशा [में]

तर्क का नाम input_tensor

विवरण विशेषताओं से भरने के लिए इनपुट टेंसर.

नोट: यह फ़ंक्शन संपूर्ण इनपुट टेंसर को अधिलेखित करता है।
सफलता के लिए SL_STATUS_OK लौटाता है SL_STATUS_INVALID_PARAMETER टेंसर प्रकार या आकार कॉन्फ़िगरेशन के अनुरूप नहीं है

sl_ml_initialize_arducam_camera
sl_status_t sl_ml_initialize_arducam_camera ()
फ़ीचर निर्माण के लिए ऑडियोकैम को छवि स्रोत के रूप में सेट करें और कॉन्फ़िगरेशन के साथ कैमरा प्रारंभ करें।
सफलता के लिए SL_STATUS_OK SL_STATUS_FAIL

sl_ml_डंप_इमेज

शून्य sl_ml_dump_image (const uint8_t * image_data, uint32_t image_length)

JLink स्ट्रीम को आउटपुट नोड के रूप में सेट करें। इमेज डेटा JLink के माध्यम से पायथन इंटरफ़ेस पर स्ट्रीम किया जाता है। पैरामीटर

प्रकार const uint8_t * uint32_t

दिशा N/AN/A

तर्क का नाम image_data image_length

रिटर्न

सफलता के लिए SL_STATUS_OK SL_STATUS_FAIL

विवरण

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

71/89

छवि सुविधा जनरेटर

sl_ml_retrieve_next_camera_image

शून्य sl_ml_retrieve_next_camera_image (uint8_t ** image_data, uint32_t * image_size)

ऑडियोकैम से कैप्चर किए गए पिंग-पोग बफ़र से छवि प्राप्त करें। छवि डेटा को गंतव्य पॉइंटर पर संग्रहीत करें। पैरामीटर

टाइप करें uint8_t ** uint32_t *

दिशा N/AN/A

तर्क का नाम image_data image_size

विवरण

sl_ml_image_crop_lut_init
void sl_ml_image_crop_lut_init () छवि को क्रॉप करने के लिए लुकअप तालिका को आरंभ करता है।

sl_ml_image_feature_generation_get_image_scaled

sl_status_t sl_ml_image_feature_generation_get_image_scaled (uint8_t * image_data, float * बफर, size_t num_elements, float स्केलर)

फीचर्स को पुनः प्राप्त करें, उन्हें दिए गए स्केलर के अनुसार स्केल करें, और फ्लोट बफर भरें। पैरामीटर

प्रकार

दिशा

तर्क का नाम

विवरण

uint8_t [बाहर] * फ्लोट * [अंदर]

छवि_डेटा बफर

स्केल किए गए फ़ीचर डेटा को संग्रहीत करने के लिए बफर का पॉइंटर
बफर के आकार के अनुरूप तत्वों की संख्या; यदि यह संपूर्ण फीचर बफर को संग्रहीत करने के लिए पर्याप्त नहीं है तो फ़ंक्शन एक त्रुटि के साथ वापस आ जाएगा।

आकार_टी [इंच]

num_elements प्रत्येक सुविधा मान पर लागू करने के लिए स्केलिंग कारक.

फ्लोट N/A

scaler

बफर = (फ्लोट) इमेज_डेटा * स्केलर

टिप्पणी

यह फ़ंक्शन संपूर्ण बफ़र को अधिलेखित कर देता है।

रिटर्न

सफलता के लिए SL_STATUS_OK SL_STATUS_INVALID_PARAMETER num_elements बहुत छोटा है

sl_ml_get_image_mean
sl_status_t sl_ml_get_image_mean (uint8_t * in_cam_image, फ्लोट * माध्य, फ्लोट * mean2, size_t num_elements)
इनपुट छवि का माध्य और माध्य वर्ग की गणना करता है। पैरामीटर
कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

72/89

छवि सुविधा जनरेटर

प्रकार

दिशा

तर्क का नाम

विवरण

प्रकार

दिशा

तर्क का नाम

विवरण

uint8_t [आउट] * फ्लोट * [आउट]

in_cam_image छवि का औसत मान संग्रहीत करने के लिए माध्य का सूचक।

अर्थ

छवि के माध्य वर्ग मान को संग्रहीत करने के लिए mean2 की ओर सूचक।

फ्लोट * [में]

माध्य2

बफर के आकार के अनुरूप तत्वों की संख्या; यदि यह संपूर्ण फीचर बफर को संग्रहीत करने के लिए पर्याप्त नहीं है तो फ़ंक्शन एक त्रुटि के साथ वापस आ जाएगा।

size_t लागू नहीं

संख्या_तत्व

माध्य = ((फ्लोट) छवि_डेटा / (चौड़ाई*लंबाई)

रिटर्न

सफलता के लिए SL_STATUS_OK SL_STATUS_INVALID_PARAMETER num_elements बहुत छोटा है

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 * बफर, float mean, float mean2, size_t num_elements)

विशेषताओं को पुनः प्राप्त करें, उनके माध्य और मानक विचलन के आसपास केंद्रित करके उन्हें सामान्यीकृत करें और फ़्लोट बफ़र भरें। पैरामीटर

प्रकार

दिशा

तर्क का नाम

विवरण

uint8_t [बाहर] * फ्लोट * [अंदर]

छवि_डेटा बफर

सामान्यीकृत फीचर डेटा फ्लोट माध्य, छवि का माध्य मान संग्रहीत करने के लिए बफर का सूचक।

तैरना [अंदर]

अर्थ

फ्लोट माध्य2, छवि का माध्य वर्ग मान।

तैरना [अंदर]

माध्य2

बफर के आकार के अनुरूप तत्वों की संख्या; यदि यह संपूर्ण फीचर बफर को संग्रहीत करने के लिए पर्याप्त नहीं है तो फ़ंक्शन एक त्रुटि के साथ वापस आ जाएगा।

size_t लागू नहीं

संख्या_तत्व

बफर = ((फ्लोट)इमेज_डेटा – माध्य(इमेज_डेटा)) / स्टैंडर्ड(इमेज_डेटा)

टिप्पणी

यह फ़ंक्शन संपूर्ण बफ़र को अधिलेखित कर देता है।

रिटर्न

सफलता के लिए SL_STATUS_OK SL_STATUS_INVALID_PARAMETER num_elements बहुत छोटा है

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) सुविधाओं को float32 प्रकार के रूप में प्राप्त करें और उन्हें दिए गए बफ़र में कॉपी करें। पैरामीटर

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

73/89

छवि सुविधा जनरेटर

प्रकार

दिशा

तर्क का नाम

विवरण

uint8_t [बाहर] * फ्लोट * [अंदर]

छवि_डेटा बफर

फ़ीचर डेटा संग्रहीत करने के लिए बफर का पॉइंटर
बफर के आकार के अनुरूप तत्वों की संख्या; यदि यह संपूर्ण फीचर बफर को संग्रहीत करने के लिए पर्याप्त नहीं है तो फ़ंक्शन एक त्रुटि के साथ वापस आ जाएगा।

size_t लागू नहीं

संख्या_तत्व

टिप्पणी

यह फ़ंक्शन संपूर्ण बफ़र को अधिलेखित कर देता है।

रिटर्न

सफलता के लिए SL_STATUS_OK SL_STATUS_INVALID_PARAMETER num_elements बहुत छोटा है

sl_ml_image_feature_generation_reset
void sl_ml_image_feature_generation_reset () छवि सुविधा जनरेटर की स्थिति को रीसेट करें।

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

74/89

TensorFlow Lite माइक्रो डीबग

TensorFlow Lite माइक्रो डीबग

TensorFlow Lite माइक्रो डीबग

TensorFlow Lite Micro में लॉगिंग के लिए अतिरिक्त SL उपयोगिताएँ।
कार्य

शून्य बूल

sl_tflite_micro_enable_debug_log(bool सक्षम)
डिबग लॉगिंग सक्षम या अक्षम करें.
sl_tflite_micro_is_debug_log_enabled(शून्य)
जांचें कि क्या डिबग लॉगिंग सक्षम है.

फ़ंक्शन दस्तावेज़ीकरण
sl_tflite_micro_enable_debug_log

void sl_tflite_micro_enable_debug_log (bool सक्षम)

डीबग लॉगिंग सक्षम या अक्षम करें। पैरामीटर

प्रकार bool

दिशा [में]

तर्क नाम सक्षम करें

विवरण: क्या डिबग लॉगिंग को सक्षम या अक्षम किया जाना चाहिए।

sl_tflite_micro_is_debug_log_enabled

bool sl_tflite_micro_is_debug_log_enabled (शून्य)

जाँचें कि क्या डीबग लॉगिंग सक्षम है। पैरामीटर

प्रकार शून्य

दिशा N/A

रिटर्न

क्या डिबग लॉगिंग सक्षम है.

तर्क का नाम

विवरण

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

75/89

TensorFlow Lite माइक्रो इनिट

TensorFlow Lite माइक्रो इनिट

TensorFlow Lite माइक्रो इनिट

TensorFlow Lite माइक्रो इनिट फ़ंक्शन फ्लैटबफर से स्वतः उत्पन्न होते हैं file कॉन्फ़िगरेशन में प्रदान किया गया, जिसमें फ़्लैटबफ़र में शामिल ऑपरेटरों के अनुसार उत्पन्न एक ऑप्स रिज़ॉल्वर शामिल है। इनपुट और आउटपुट टेंसर तक पहुँचने के लिए सहायक फ़ंक्शन भी प्रदान किए गए हैं।
कार्य

sl_स्थिति_t
uint8_t * tflite::ErrorR
ईपोर्टर * tflite::MicroI
इंटरप्रेटर * TfLiteTensor * TfLiteTensor * tflite::MicroO
pResolver और void

sl_tflite_micro_estimate_arena_size(const tflite::Model *model, const tflite::MicroOpResolver &opcode_resolver, size_t *estimated_size)
किसी दिए गए मॉडल के लिए क्षेत्र के आकार का अनुमान लगाएं।
sl_tflite_micro_allocate_tensor_arena(size_t arena_size, uint8_t **tensor_arena)
गतिशील रूप से एक बफर आवंटित करें जिसका उपयोग टेंसर क्षेत्र के लिए किया जा सकता है।
sl_tflite_micro_get_error_reporter()
init फ़ंक्शन द्वारा बनाए गए TensorFlow Lite माइक्रो त्रुटि रिपोर्टर के लिए एक पॉइंटर प्राप्त करें।
sl_tflite_micro_get_interpreter()
init फ़ंक्शन द्वारा बनाए गए TensorFlow Lite माइक्रो इंटरप्रेटर के लिए एक पॉइंटर प्राप्त करें।
sl_tflite_micro_get_input_tensor()
init फ़ंक्शन द्वारा सेट किए गए इनपुट टेंसर के लिए पॉइंटर प्राप्त करें।
sl_tflite_micro_get_output_tensor()
init फ़ंक्शन द्वारा सेट किए गए आउटपुट टेंसर के लिए पॉइंटर प्राप्त करें।
sl_tflite_micro_opcode_resolver()
कॉन्फ़िगरेशन द्वारा दिए गए फ्लैटबफर के लिए ऑपोड रिज़ॉल्वर का पॉइंटर प्राप्त करें।
sl_tflite_micro_init(शून्य)
त्रुटि रिपोर्टर और ऑपोड रिज़ॉल्वर बनाएं और कॉन्फ़िगरेशन द्वारा दिए गए फ्लैटबफ़र के लिए चर आरंभ करें।

फ़ंक्शन दस्तावेज़ीकरण
sl_tflite_micro_estimate_arena_size

sl_status_t sl_tflite_micro_estimate_arena_size (const tflite::Model * मॉडल, const tflite::MicroOpResolver और opcode_resolver, size_t * estimated_size)

किसी दिए गए मॉडल के लिए क्षेत्र के आकार का अनुमान लगाएँ। पैरामीटर

प्रकार const tflite::Model * const tflite::MicroOpResolver & size_t *

दिशा [अंदर] [अंदर] [बाहर]

तर्क नाम मॉडल opcode_resolver estimated_size

यदि अनुमान सफल रहा तो SL_STATUS_OK लौटाता है.

विवरण: अखाड़े के आकार का अनुमान लगाने के लिए मॉडल का पॉइंटर। मॉडल के लिए उपयोग किया जाने वाला ऑपोड रिज़ॉल्वर। आउटपुट के रूप में अखाड़े का अनुमानित आकार।

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

76/89

TensorFlow Lite माइक्रो इनिट

sl_tflite_micro_allocate_tensor_arena

uint8_t * sl_tflite_micro_allocate_tensor_arena (size_t arena_size, uint8_t ** tensor_arena)

गतिशील रूप से एक बफर आवंटित करें जिसका उपयोग टेंसर क्षेत्र के लिए किया जा सके। पैरामीटर

प्रकार size_t uint8_t **

दिशा [अंदर] [बाहर]

तर्क का नाम arena_size tensor_arena

विवरण आवंटित किए जाने वाले क्षेत्र का आकार। आवंटित टेंसर क्षेत्र बफर का सूचक।

रिटर्न
आवंटित बेस बफ़र का एक पॉइंटर। आवंटन विफल होने पर nullptr लौटाता है। बेस बफ़र का उपयोग आवंटित मेमोरी को मुक्त करने के लिए किया जाता है।

sl_tflite_micro_get_error_reporter
tflite::ErrorReporter * sl_tflite_micro_get_error_reporter ()
init फ़ंक्शन द्वारा बनाए गए TensorFlow Lite माइक्रो त्रुटि रिपोर्टर का पॉइंटर प्राप्त करें। रिटर्न
त्रुटि रिपोर्टर के लिए एक सूचक.

sl_tflite_micro_get_interpreter
tflite::माइक्रोइंटरप्रेटर * sl_tflite_micro_get_interpreter ()
init फ़ंक्शन द्वारा बनाए गए TensorFlow Lite Micro इंटरप्रेटर का पॉइंटर प्राप्त करें। रिटर्न
दुभाषिया के लिए एक संकेत.

sl_tflite_micro_get_input_tensor
TfLiteTensor * sl_tflite_micro_get_input_tensor ()
init फ़ंक्शन द्वारा सेट किए गए इनपुट टेंसर का पॉइंटर प्राप्त करें। रिटर्न
इनपुट टेंसर के लिए एक सूचक.

sl_tflite_micro_get_output_tensor
TfLiteTensor * sl_tflite_micro_get_output_tensor ()

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

77/89

TensorFlow Lite माइक्रो इनिट
init फ़ंक्शन द्वारा सेट किए गए आउटपुट टेंसर का पॉइंटर प्राप्त करें। रिटर्न
आउटपुट टेंसर के लिए एक सूचक.

sl_tflite_micro_opcode_resolver
tflite::MicroOpResolver और sl_tflite_micro_opcode_resolver ()
कॉन्फ़िगरेशन द्वारा दिए गए फ़्लैटबफ़र के लिए ऑपोड रिज़ॉल्वर का पॉइंटर प्राप्त करें। रिटर्न
ऑपोड रिज़ॉल्वर का पता.

sl_tflite_micro_init

शून्य sl_tflite_micro_init (शून्य)

त्रुटि रिपोर्टर और ऑपोड रिज़ॉल्वर बनाएँ और कॉन्फ़िगरेशन द्वारा दिए गए फ़्लैटबफ़र के लिए वैरिएबल्स को इनिशियलाइज़ करें। पैरामीटर

प्रकार शून्य

दिशा N/A

तर्क का नाम

विवरण

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

78/89

Sampले एप्लीकेशन
Sampले एप्लीकेशन
Sample अनुप्रयोग खत्मview
निम्नलिखित अनुप्रयोग Simplicity SDK के साथ माइक्रोकंट्रोलर्स फ्रेमवर्क के लिए TensorFlow Lite के उपयोग को प्रदर्शित करते हैं।
आवाज नियंत्रण प्रकाश
यह एप्लिकेशन माइक्रोकंट्रोलर्स के लिए TensorFlow Lite के साथ एक न्यूरल नेटवर्क का प्रदर्शन करता है जो माइक्रोमियम OS कर्नेल टास्क में माइक्रोफ़ोन पर रिकॉर्ड किए गए ऑडियो डेटा से बोले गए शब्दों "चालू" और "बंद" का पता लगाता है। पता लगाए गए कीवर्ड का उपयोग बोर्ड पर एक एलईडी को नियंत्रित करने के लिए किया जाता है। ऑडियो डेटाampऑडियो फ़ीचर जेनरेटर घटक का उपयोग करके निरंतर और पूर्व-संसाधित किया जाता है। पिछले लगभग 1 सेकंड के ऑडियो डेटा पर हर 200 मिलीसेकंड पर अनुमान लगाया जाता है। यहample एप्लिकेशन .tflite जोड़ने के लिए फ्लैटबफर कनवर्टर टूल का उपयोग करता है file अनुप्रयोग बाइनरी के लिए.
Z3स्विचविथवॉयस
यह एप्लिकेशन वॉइस डिटेक्शन को ज़िगबी 3.0 के साथ जोड़कर एक वॉइस-नियंत्रित स्विच नोड बनाता है जिसका उपयोग लाइट नोड को टॉगल करने के लिए किया जा सकता है। यह एप्लिकेशन बोले गए कीवर्ड "चालू" और "बंद" का पता लगाने के लिए वॉइस कंट्रोल लाइट के समान मॉडल का उपयोग करता है। पता लगने पर, स्विच नोड ज़िगबी नेटवर्क पर ऑन/ऑफ कमांड भेजता है। यहample एप्लिकेशन .tflite जोड़ने के लिए फ्लैटबफर कनवर्टर टूल का उपयोग करता है file अनुप्रयोग बाइनरी के लिए.
TensorFlow Lite Micro – Hello World
यह एप्लिकेशन एक ऐसे मॉडल का प्रदर्शन करता है जिसे साइन फ़ंक्शन को दोहराने और अनुमान परिणामों का उपयोग करके एक LED को फीका करने के लिए प्रशिक्षित किया गया है। यह एप्लिकेशन मूल रूप से TensorFlow द्वारा लिखा गया था, लेकिन इसे Simplicity SDK में पोर्ट कर दिया गया है। मॉडल लगभग 2.5 KB का है। पूरा एप्लिकेशन लगभग 157 KB फ़्लैश और 15 KB RAM लेता है। यह एप्लिकेशन बड़ी मात्रा में फ़्लैश मेमोरी का उपयोग करता है क्योंकि यह मैन्युअल रूप से निर्दिष्ट नहीं करता है कि मॉडल में कौन से ऑपरेशन उपयोग किए जाते हैं और परिणामस्वरूप, सभी कर्नेल कार्यान्वयनों को संकलित करता है। यह एप्लिकेशन एक न्यूनतम अनुमान एप्लिकेशन का उदाहरण देता है और TensorFlow Lite for Microcontrollers मॉडल व्याख्या प्रवाह को समझने के लिए एक अच्छे प्रारंभिक बिंदु के रूप में कार्य करता है।ample अनुप्रयोग hello_world_model_data.cc में निहित एक निश्चित मॉडल का उपयोग करता है।
TensorFlow Lite माइक्रो – माइक्रो स्पीच
यह एप्लिकेशन एक 20 KB मॉडल प्रदर्शित करता है जिसे माइक्रोफ़ोन से रिकॉर्ड किए गए स्पीच डेटा से सरल शब्दों का पता लगाने के लिए प्रशिक्षित किया गया है। यह एप्लिकेशन मूल रूप से TensorFlow द्वारा लिखा गया था, लेकिन इसे Simplicity SDK में पोर्ट कर दिया गया है। यह एप्लिकेशन लगभग 100 KB फ़्लैश और 37 KB RAM का उपयोग करता है। लगभग 10 KB RAM का उपयोग FFT फ़्रंटएंड और ऑडियो डेटा संग्रहीत करने के लिए किया जाता है। 38.4 MHz की क्लॉक स्पीड और अनुकूलित कर्नेल कार्यान्वयन का उपयोग करते हुए, लगभग 1 सेकंड के ऑडियो डेटा पर अनुमान लगाने का समय लगभग 111 ms है। यह एप्लिकेशन ऑडियो डेटा से फ़ीचर बनाने और वास्तविक समय में पता लगाने की प्रक्रिया को दर्शाता है। यह यह भी प्रदर्शित करता है कि नेटवर्क में कौन से ऑपरेशन उपयोग किए जाते हैं, उन्हें मैन्युअल रूप से कैसे निर्दिष्ट किया जाए, जिससे फ़्लैश की महत्वपूर्ण मात्रा बचती है।ampयह अनुप्रयोग micro_speech_model_data.cc में निहित एक निश्चित मॉडल का उपयोग करता है।
TensorFlow Lite Micro – जादू की छड़ी

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

79/89

Sampले एप्लीकेशन
यह एप्लिकेशन एक 10 KB मॉडल प्रदर्शित करता है जिसे एक्सेलेरोमीटर का उपयोग करके विभिन्न हाथ के हाव-भावों को पहचानने और गति का पता लगाने के लिए प्रशिक्षित किया गया है। पहचाने गए हाव-भाव सीरियल पोर्ट पर प्रिंट किए जाते हैं। यह एप्लिकेशन मूल रूप से TensorFlow द्वारा लिखा गया था, लेकिन इसे Simplicity SDK में पोर्ट कर दिया गया है।
यह एप्लिकेशन लगभग 104 KB फ़्लैश और 25 KB RAM का उपयोग करता है। यह एप्लिकेशन दर्शाता है कि एक्सेलेरोमीटर डेटा को अनुमान इनपुट के रूप में कैसे इस्तेमाल किया जाए और यह भी दिखाता है कि नेटवर्क में कौन से ऑपरेशन इस्तेमाल किए जाएँ, यह मैन्युअल रूप से कैसे निर्दिष्ट किया जाए, जिससे फ़्लैश की काफ़ी बचत होती है।
यहample एप्लिकेशन .tflite जोड़ने के लिए फ्लैटबफर कनवर्टर टूल का उपयोग करता है file अनुप्रयोग बाइनरी के लिए.
TensorFlow मॉडल प्रोfiler
यह एप्लिकेशन प्रो के लिए डिज़ाइन किया गया हैfile सिलिकॉन लैब्स हार्डवेयर पर आधारित एक TensorFlow Lite माइक्रो मॉडल। एप्लिकेशन द्वारा उपयोग किया जाने वाला मॉडल एक TensorFlow Lite फ्लैटबफर द्वारा प्रदान किया जाता है। file config/tflite उपनिर्देशिका में model.tflite कहा जाता है।fileअनुमान लगाते समय r मॉडल की प्रत्येक परत में CPU क्लॉक साइकल की संख्या और बीता हुआ समय मापेगा। अनुमान लगाने के बाद यह एक सारांश भी तैयार करेगा। एक भी अनुमान लगाने से पहले मॉडल की इनपुट परत को सभी शून्यों से भर दिया जाता है। प्रोफाइलिंग के परिणाम VCOM पर प्रेषित किए जाते हैं।
एप्लिकेशन को किसी भिन्न .tflite मॉडल के साथ चलाने के लिए, आप प्रतिस्थापित कर सकते हैं file एक नए TensorFlow Lite माइक्रो फ्लैटबफर के साथ model.tflite कहा जाता है file। यह नई file इसे "model.tflite" भी कहा जाना चाहिए और s द्वारा उठाए जाने के लिए config/tflite उपनिर्देशिका के अंदर रखा जाना चाहिएampमॉडल बदलने के बाद, प्रोजेक्ट को फिर से बनाएँ।
TensorFlow Lite Micro मॉडल को लोड करने और उस पर अनुमान लगाने के लिए, TensorFlow Lite Micro द्वारा आवश्यक स्थिति बनाए रखने के लिए एक "टेंसर एरिना" को कुछ बाइट्स आवंटित करें। इस टेंसर एरिना का आकार मॉडल के आकार और ऑपरेटरों की संख्या पर निर्भर करता है। TensorFlow मॉडल प्रोfileकिसी विशिष्ट TensorFlow Lite Micro मॉडल को लोड करने के लिए टेंसर एरीना द्वारा आवश्यक RAM की मात्रा को मापने के लिए r एप्लिकेशन का उपयोग किया जा सकता है। इसे टेंसर एरीना के लिए RAM को गतिशील रूप से आवंटित करके और VCOM पर आवश्यक बाइट्स की संख्या की रिपोर्ट करके मापा जाता है। टेंसर एरीना के लिए आवश्यक बाइट्स की संख्या का उपयोग बाद में किसी अन्य एप्लिकेशन में मॉडल का उपयोग करते समय स्थिर रूप से मेमोरी आवंटित करने के लिए किया जा सकता है।
यहample एप्लिकेशन .tflite जोड़ने के लिए फ्लैटबफर कनवर्टर टूल का उपयोग करता है file अनुप्रयोग बाइनरी के लिए.
पत्थर-कागज़-कैंची (छवि वर्गीकरण)
छवि वर्गीकरण, डीप लर्निंग और आर्टिफिशियल इंटेलिजेंस के सबसे महत्वपूर्ण अनुप्रयोगों में से एक है। छवि वर्गीकरण, छवियों में मौजूद कुछ विशेषताओं या विशेषताओं के आधार पर उन्हें लेबल प्रदान करने की प्रक्रिया है। एल्गोरिदम इन विशेषताओं की पहचान करता है और इनका उपयोग विभिन्न छवियों के बीच अंतर करने और उन्हें लेबल प्रदान करने के लिए करता है।
यह एप्लिकेशन माइक्रोकंट्रोलर्स के लिए TensorFlow Lite का उपयोग करके इमेज क्लासिफिकेशन मशीन लर्निंग मॉडल चलाता है ताकि ArduCAM कैमरे से कैप्चर किए गए इमेज डेटा से हाथ के हाव-भावों को वर्गीकृत किया जा सके। बोर्ड पर लगे एलईडी का उपयोग करके पहचान को विज़ुअलाइज़ किया जाता है और वर्गीकरण परिणाम VCOM सीरियल पोर्ट पर लिखे जाते हैं।
अधिक जानकारी के लिए इमेज क्लासिफायर दस्तावेज़ देखें।

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

80/89

छवि वर्गीकरणकर्ता
छवि वर्गीकरणकर्ता
छवि वर्गीकरणकर्ता
छवि वर्गीकरण, डीप लर्निंग और आर्टिफिशियल इंटेलिजेंस के सबसे महत्वपूर्ण अनुप्रयोगों में से एक है। छवि वर्गीकरण, छवियों में मौजूद कुछ विशेषताओं या विशेषताओं के आधार पर उन्हें लेबल प्रदान करने से संबंधित है। एल्गोरिथ्म इन विशेषताओं की पहचान करता है और इनका उपयोग विभिन्न छवियों के बीच अंतर करने और उन्हें लेबल प्रदान करने के लिए करता है। यह एप्लिकेशन, ArduCAM कैमरे से प्राप्त छवि डेटा से हाथ के हावभावों को वर्गीकृत करने हेतु छवि वर्गीकरण मशीन लर्निंग मॉडल चलाने हेतु माइक्रोकंट्रोलर्स के लिए TensorFlow Lite का उपयोग करता है। बोर्ड पर लगे एलईडी का उपयोग करके पहचान को विज़ुअलाइज़ किया जाता है और वर्गीकरण परिणाम VCOM सीरियल पोर्ट पर लिखे जाते हैं। यहample एप्लिकेशन .tflite जोड़ने के लिए फ्लैटबफर कनवर्टर टूल का उपयोग करता है file अनुप्रयोग बाइनरी के लिए.
कक्षा लेबल
चट्टान: एक व्यक्ति के हाथ से चट्टान बनाते हुए चित्र

आवश्यक हार्डवेयर और सेटअप
सिलिकॉन लैब्स EFR श्रृंखला बोर्ड BRD2601B या BRD2608A. जम्पर तारों के साथ बर्ग स्ट्रिप कनेक्टर (न्यूनतम 8 की संख्या) निम्नलिखित संयोजनों में से कोई एक.
फीमेल से फीमेल जम्पर तारों वाली मेल-बर्ग स्ट्रिप। फीमेल से फीमेल जम्पर तारों वाली फीमेल-बर्ग स्ट्रिप। ArduCAM कैमरा मॉड्यूल।
पिन विन्यास
निम्न तालिका ArduCAM और डेवलपमेंट किट के बीच पिन कनेक्शन दिखाती है।
कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

81/89

छवि वर्गीकरणकर्ता

ArduCAM Pin GND VCC CS MOSI MISO SCK SDA SCL

बोर्ड विस्तार हेडर पिन 1 18 10 4 6 8 16 15

आवश्यक सॉफ्टवेयर
Simplicity स्टूडियो v5 के साथ simplicity_sdk aiml-extension
छवियों को PC पर डंप करना
यह एप्लिकेशन इमेज डेटा को aiml-extension/tools/image-visualization पर स्थित पायथन स्क्रिप्ट में स्ट्रीम करने के लिए JLink का उपयोग करता है। आरंभ करने के लिए, readme.md में दिए गए निर्देशों का संदर्भ लें। fileएक बार जब एप्लिकेशन बाइनरी डेवलपमेंट बोर्ड पर फ्लैश हो जाती है, तो आप विज़ुअलाइज़ेशन टूल लॉन्च कर सकते हैं view आने वाली छवि धाराओं को देखें और वैकल्पिक रूप से उन्हें अपने स्थानीय पीसी पर सहेजें।
आवेदन टिप्पणी
कैमरा इनपुट: यह एप्लिकेशन ArduCAM कैमरे से ली गई छवियों का उपयोग करता है। प्रकाश की स्थिति: मॉडल को अच्छी रोशनी वाली छवियों पर प्रशिक्षित किया गया था। सर्वोत्तम परिणाम प्राप्त करने के लिए, प्रयोग अच्छी रोशनी में करें। .slcp कॉन्फ़िगरेशन में SL_ML_IMAGE_MEAN_THRESHOLD पैरामीटर समायोजित करें। file छवि प्रसंस्करण के लिए आवश्यक न्यूनतम औसत तीव्रता निर्धारित करने हेतु। अनुशंसित दूरी: प्रयोग के दौरान कैमरे और विषय के हाथ के बीच लगभग 0.5 मीटर की दूरी बनाए रखें। पृष्ठभूमि सेटअप: पहचान की सटीकता और एकरूपता में सुधार के लिए एक सादी पृष्ठभूमि (अधिमानतः सफेद या काली) का उपयोग करें।
कन्वोल्यूशनल न्यूरल नेटवर्क
इस एप्लिकेशन में प्रयुक्त मशीन लर्निंग मॉडल का प्रकार कन्वोल्यूशनल न्यूरल नेटवर्क (CNN) है।
कन्वोल्यूशनल न्यूरल नेटवर्क (ConvNet/CNN) एक डीप लर्निंग एल्गोरिदम है जो एक इनपुट छवि ले सकता है, छवि में विभिन्न पहलुओं/वस्तुओं को महत्व (सीखने योग्य भार और पूर्वाग्रह) प्रदान कर सकता है और एक को दूसरे से अलग करने में सक्षम हो सकता है।
एक सामान्य CNN को निम्न प्रकार से देखा जा सकता है:

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

82/89

इमेज क्लासिफायर एक विशिष्ट CNN कई परतों से बना होता है। एक दी गई परत मूलतः एक गणितीय संक्रिया होती है जो बहुआयामी सरणियों (जिसे टेंसर भी कहा जाता है) पर कार्य करती है। CNN की परतों को दो मुख्य चरणों में विभाजित किया जा सकता है: फ़ीचर लर्निंग: यह निष्कर्ष निकालने के लिए कन्वोल्यूशनल परतों का उपयोग करता है।
डीप लर्निंग पाइपलाइन
एक गहन शिक्षण पाइपलाइन में आम तौर पर तीन प्राथमिक चरण होते हैंtages: डेटासेट संग्रह, मॉडल प्रशिक्षण, और अनुमान निम्नानुसार है।
कुछ एसampइस अनुप्रयोग में मॉडल को प्रशिक्षित करने के लिए उपयोग किए गए डेटा को नीचे दिए गए चित्र में दर्शाया गया है।

डेटा प्रीप्रोसेसिंग
प्रीप्रोसेसिंगtagइसमें विशिष्ट डेटा सामान्यीकरण सेटिंग्स शामिल हैं, जिन्हें ml_image_feature_generation घटक द्वारा प्रबंधित किया जाता है।amplewise_center = सत्य samplewise_std_normalization = सत्य

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

83/89

छवि वर्गीकरणकर्ता
norm_img = (img – mean(img)) / std(img) ये सेटिंग्स सूत्र का उपयोग करके प्रत्येक इनपुट छवि को व्यक्तिगत रूप से सामान्यीकृत करती हैं। इससे यह सुनिश्चित करने में मदद मिलती है कि मॉडल कैमरे और प्रकाश व्यवस्था में बदलाव पर ज़्यादा निर्भर न हो।
मॉडल विवरण
मॉडल सारांश प्रत्येक परत के बारे में विस्तृत जानकारी और उसमें शामिल मापदंडों की संख्या प्रस्तुत करता है। यह विश्लेषण छवि वर्गीकरण कार्य करने के लिए प्रयुक्त आर्किटेक्चर की रूपरेखा प्रस्तुत करता है।

मॉडल मूल्यांकन
मॉडल मूल्यांकन के मूलभूत दृष्टिकोण में परीक्षण सामग्री को फीड करना शामिल हैampमॉडल में प्रशिक्षण के दौरान उपयोग न किए गए नए, अनदेखे डेटा को शामिल करना और उसके पूर्वानुमानों की तुलना वास्तविक अपेक्षित मानों से करना। यदि प्रत्येक पूर्वानुमान सही है, तो मॉडल 100% सटीकता प्राप्त करता है; प्रत्येक गलत पूर्वानुमान समग्र सटीकता को कम करता है।
नीचे दिया गया आंकड़ा रॉक-पेपर-कैंची डेटासेट का उपयोग करके प्राप्त प्रमुख प्रदर्शन संकेतकों (KPI) को दर्शाता है, जिनमें शामिल हैं:
सटीकता: कुल भविष्यवाणियों में सही भविष्यवाणियों का अनुपात आरओसी वक्र: सच्ची सकारात्मक दर बनाम झूठी सकारात्मक दर का ग्राफिकल प्रतिनिधित्व स्मरण: सभी प्रासंगिक उदाहरणों की पहचान करने की मॉडल की क्षमता का माप परिशुद्धता: सभी अनुमानित सकारात्मक के बीच सच्ची सकारात्मक का अनुपात

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

84/89

छवि वर्गीकरणकर्ता

समग्र सटीकता: 95.037% वर्ग सटीकता:
कागज़ = 98.394% कैंची = 97.500% चट्टान = 92.476% अज्ञात = 92.083% औसत ROC AUC: 98.664% वर्ग ROC AUC: कागज़ = 99.461% अज्ञात = 99.042% कैंची = 98.554% चट्टान = 97.600%

कॉपीराइट © 2025 सिलिकॉन प्रयोगशालाएँ। सभी अधिकार सुरक्षित।

85/89

अतिरिक्त विषय
अतिरिक्त विषय
तृतीय पक्ष टूलिंग और साझेदार समाधान
टूलींग
टेंसरफ्लो
SiSDK मूल रूप से माइक्रोकंट्रोलर्स के लिए TensorFlow Lite (TFLM) का समर्थन करता है। डेवलपर एक क्वांटाइज़्ड .tflite मॉडल बना सकता है। file TensorFlow वातावरण का सीधे उपयोग करके उसे GDSK में एकीकृत करें। आरंभ करें
TensorFlow और Keras का उपयोग करके एक मॉडल विकसित करना
सिलिकॉन लैब्स मशीन लर्निंग टूलकिट (MLTK) (अप्रचलित)
टेन्सरफ़्लो डेवलपर की मदद के लिए मशीन लर्निंग टूलकिट (MLTK) इन्हीं उद्देश्यों से बनाया गया था। यह पायथन स्क्रिप्ट का एक सेट है जिसे सिलिकॉन लैब्स एम्बेडेड उपकरणों के लिए विशिष्ट मशीन लर्निंग वर्कफ़्लो का पालन करने के लिए डिज़ाइन किया गया है।
नोट: यह पैकेज एक ओपन सोर्स, स्व-सेवा, समुदाय-समर्थित, संदर्भ पैकेज के रूप में उपलब्ध है जिसमें ऑनलाइन दस्तावेज़ीकरण का एक व्यापक सेट शामिल है। इस सॉफ़्टवेयर के लिए वर्तमान में कोई सिलिकॉन लैब्स सहायता सेवाएँ उपलब्ध नहीं हैं। ये स्क्रिप्ट प्रलेखित ट्यूटोरियल में शामिल उपयोग के मामलों के लिए संदर्भ कार्यान्वयन हैं। अन्य उपयोग के मामलों के लिए समर्थन डेवलपर की ज़िम्मेदारी है।
आरंभ करना SiSDK उदाहरण के लिए कीवर्ड स्पॉटिंग मॉडल बनाएँampले. (GitHub.io) - एमएलटीके ट्यूटोरियल
मॉडल को एकीकृत करना
प्रशिक्षित मॉडल, चाहे TensorFlow का सीधे उपयोग कर रहा हो या MLTK का, .tflite में दर्शाया जाता है file.tflite जोड़ने के लिए file अपने एम्बेडेड एप्लिकेशन के लिए, इन्फ़रेंस एप्लिकेशन विकसित करना देखें। कई SiSDK उदाहरण उपलब्ध हैंampऐसे मॉडल जिनमें मशीन लर्निंग शामिल है और जो पूर्व-प्रशिक्षित मॉडलों का उपयोग करके अनुमान लगाने का तरीका दिखाते हैं। पूर्व-प्रशिक्षित मॉडलों को एक मॉडल से बदला जा सकता है

दस्तावेज़ / संसाधन

सिलिकॉन लैब्स एआई और मशीन लर्निंग लेकर आया है [पीडीएफ] उपयोगकर्ता पुस्तिका
AI और मशीन लर्निंग लाता है, AI और मशीन लर्निंग लाता है, मशीन लर्निंग, लर्निंग

संदर्भ

एक टिप्पणी छोड़ें

आपकी ईमेल आईडी प्रकाशित नहीं की जाएगी। आवश्यक फ़ील्ड चिह्नित हैं *