当前位置:首页 > 新基建 > 新基建
[导读]要创建支持 ML 的应用程序,需要两个主要步骤。第一步是创建一个无线应用程序,您可以使用 Zigbee、BLE、Matter 或任何基于 2.4 GHz 协议的专有应用程序来完成。它甚至可以是未连接的应用程序。第二步是构建 ML 模型以将其与应用程序集成。 如上所述,Silicon Labs 提供了多种选项来为其 MCU 创建 ML 应用程序。此处选择的方法是使用具有预定义模型的现有示例应用程序。在这个例子中,模型被训练来检测两个语音命令:“on”和“off”。

采用 EFR32xG24 的语音控制 Zigbee 开关

要创建支持 ML 的应用程序,需要两个主要步骤。第一步是创建一个无线应用程序,您可以使用 Zigbee、BLE、Matter 或任何基于 2.4 GHz 协议的专有应用程序来完成。它甚至可以是未连接的应用程序。第二步是构建 ML 模型以将其与应用程序集成。

如上所述,Silicon Labs 提供了多种选项来为其 MCU 创建 ML 应用程序。此处选择的方法是使用具有预定义模型的现有示例应用程序。在这个例子中,模型被训练来检测两个语音命令:“on”和“off”。

EFR32xG24 应用程序入门

要开始使用,请获取 EFR32MG24 开发人员套件 BRD2601A(左)。

该开发套件是一个紧凑型电路板,嵌入了多个传感器(IMU、温度、相对湿度等)、LED 和 Stereo I 2 S 麦克风。

该项目将使用2 S 麦克风。

这些设备可能不像 GPU 那样稀有,但如果您没有机会获得这些套件之一,您还可以使用基于系列 1 的旧开发套件,称为“Thunderboard Sense 2”参考。SLTB004A(右)。

但是,此 MCU 没有 MVP,将使用主内核执行所有推理,无需加速。

 

接下来,您需要 Silicon Labs 的 IDE Simplicity Studio 来创建 ML 项目。它提供了一种下载 Silicon Labs 的 Gecko SDK 软件套件的简单方法,该套件提供了应用程序所需的库和驱动程序,如下所示。

· 无线网络堆栈(本例中为 Zigbee)

· 硬件驱动程序(用于 I2S 麦克风以及 MVP)

· TensorFlow Lite 框架

· 一个已经训练过的用于检测命令词的模型

IDE 还提供工具来进一步分析您的应用程序功耗或网络操作。

创建启用 MVP 的 Zigbee 3.0 Switch 项目

Silicon Labs 提供了一个即用型示例应用程序 Z3SwitchWithVoice,您将创建和构建该应用程序。该应用程序已经附带了一个 ML 模型,因此您无需创建一个。

创建后,请注意 Simplicity Studio 项目由组件带来的源文件组成,这些组件是 GUI 实体,通过简化复杂软件的集成,可以轻松使用 Silicon Labs 的 MCU。在这种情况下,您可以看到默认安装了 MVP 支持和 Zigbee 网络堆栈。

主要应用程序代码位于 app.c 源文件中。

在网络方面,应用程序可以通过一个简单的按钮与任何现有的 Zigbee 3.0 网络配对,也称为“网络转向”。联网后,MCU 将寻找兼容且可配对的照明设备,也称为“绑定”。

当应用程序的网络部分启动并运行时,MCU 将定期轮询麦克风数据样本并在其上运行推理。此代码位于keyword_detection.c 中。

/************************************************* ******************************//**  * 处理来自 output_tensor 的输出 ************** ****************************************************** **************/ sl_status_t  process_output ()

{

// 根据推理的输出判断是否识别到命令

uint8_t found_command_index = 0;

uint8_t分数 = 0;

bool is_new_command = false ;

uint32_t current_time_stamp;


// 获取 CommandRecognizer 所需的当前时间戳

current_time_stamp = sl_sleeptimer_tick_to_ms(sl_sleeptimer_get_tick_count());


TfLiteStatus process_status = command_recognizer->ProcessLatestResults(

sl_tflite_micro_get_output_tensor(), current_time_stamp, &found_command_index, &score, &is_new_command);


if (process_status != kTfLiteOk ) {

 return SL_STATUS_FAIL;

}


if (is_new_command) {

 if (found_command_index == 0 || found_command_index == 1) {

printf( "听说 %s (%d) @% ldms \r\n" , kCategoryLabels[found_command_index],

分数,current_time_stamp);

检测到的关键字(found_command_index);

}

}


返回SL_STATUS_OK;

}

检测到关键字后,app.c 中的处理程序将发送相应的 Zigbee 命令:

静态 无效检测到_keywork_event_handler ( sl_zigbee_event_t *事件)

{

EmberStatus状态;


如果emberAfNetworkState()== EMBER_JOINED_NETWORK{

emberAfGetCommandApsFrame()-> sourceEndpoint = SWITCH_ENDPOINT;


if (detected_keyword_index == 0) {

emberAfFillCommandOnOffClusterOn();

} else  if (detected_keyword_index == 1) {

emberAfFillCommandOnOffClusterOff();

}


状态 = emberAfSendCommandUnicastToBindings();

sl_zigbee_app_debug_print( "%s: 0x%02X\n" , "发送到绑定" , status);

}

}

此时,您已在无线 MCU 上运行硬件加速推理以进行边缘计算。

自定义 TensorFlow 模型以使用不同的命令词

如前所述,实际模型已经集成到该应用程序中,并且没有进一步修改。但是,如果您自己集成模型,则可以通过以下步骤进行:

1. 收集和标记数据

2. 设计和构建模型

3. 评估和验证模型

4. 为嵌入式设备转换模型

无论您对机器学习多么熟悉,都必须遵循这些步骤。不同之处在于如何构建模型,如下所示:

1. 如果您是 ML 的初学者,Silicon Labs 建议使用我们易于使用的端到端第三方合作伙伴平台之一:Edge Impulse 或 SensiML 来构建您的模型。

2. 如果您是 Keras/TensorFlow 方面的专家并且不想使用第三方工具,您可以使用机器学习工具包 (MLTK),它是一个自助式、自助式的 Python 包。Silicon Labs 围绕音频用例创建了这个参考包,可以扩展、修改或以其他方式挑选专家认为有吸引力的部分。该包将在 GitHub 上提供,附带文档。您也可以直接导入一个 .tflite 文件,该文件在 TensorFlow lite 的嵌入式版本上运行,用于为 EFR32 产品线进行微编译。您必须确保数据上的特征提取对于训练模型与在目标芯片上运行推理完全相同。

Simplicity Studio 中,后者是最简单的。要在 Simplicity Studio 中更改模型,请将 .tflite 模型文件复制到项目的 config/tflite 文件夹中。项目配置器提供了一个工具,可以自动将 .tflite 文件转换为 sl_ml_model 源文件和头文件。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭