当前位置:首页 > 新基建 > 新基建
[导读]要创建支持 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 源文件和头文件。

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

语音识别相信大家并不陌生,近些年来语音识别技术的应用层出不穷,同时也更加智能。

关键字: 语音识别 语音 AI

3月29日消息,根据国外媒体报道,2024年2月,韩国半导体产业迎来了显著的增长,其产量增幅达到了14年来的最高水平,同比增长65.3%。

关键字: AI ChatGPT 人工智能

随着人工智能(AI)模型变得越来越复杂,数据量不断攀升,数据中心正在通过改变系统架构,来实现更快、更高效的处理。

关键字: AI 连接器

近日举办的GTC大会把人工智能/机器学习(AI/ML)领域中的算力比拼又带到了一个新的高度,这不只是说明了通用图形处理器(GPGPU)时代的来临,而是包括GPU、FPGA和NPU等一众数据处理加速器时代的来临,就像GPU...

关键字: FPGA AI 图形处理器

西门子作为制造业数字化转型成功的代表企业之一,面对生产、服务与业务增长等挑战,积极拥抱AI、自动化等新兴技术,优化企业业务流程,打造企业数字化技术新基座,开拓出更多业务转型思路。

关键字: 自动化 AI 数字化

2024年3月20日,2024中国闪存市场峰会(CFMS2024)在深圳宝安前海·JW万豪酒店盛大举办。本次峰会以“存储周期、激发潜能”为主题,共同探讨在供需关系依然充满挑战的大环境下,未来存储市场的变化,以及如何挖掘产...

关键字: SSD 存储 AI

随着科技日新月异的进步,语音识别技术已成为人工智能领域的一项核心突破。这项技术旨在模拟人类听觉系统,通过复杂算法和模式识别手段将连续或离散的语音信号转换为可理解的文本或指令信息。本文深入探讨了语音识别技术在多个领域的广泛...

关键字: 语音识别 人工智能

随着人工智能和信息技术的飞速发展,语音识别技术已经从实验室走向了现实生活中的各个角落,成为人机交互领域的重要组成部分。语音识别产品不仅丰富了我们的日常生活,也正在深刻地改变着众多行业的工作模式和服务形态。

关键字: 语音识别 人工智能

近日,胡润研究院发布《2024家大业大酒·胡润全球富豪榜》。70岁的钟睒睒财富比去年缩水9%,以4500亿元连续第四次成为中国首富,位于全球第21位,同比下降6位。44岁的黄峥财富比去年增长71%,即1600亿元,是今年...

关键字: 钟睒睒 AI
关闭