硬汉嵌入式论坛

 找回密码
 立即注册
搜索
查看: 31|回复: 0
收起左侧

[DSP] CMSIS-DSP库发布V1.18版本,开始支持自动微分和C++调用,并提供案例

[复制链接]

1万

主题

7万

回帖

12万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
124080
QQ
发表于 11 小时前 | 显示全部楼层 |阅读模式
https://github.com/ARM-software/CMSIS-DSP/releases

1、在 CMSIS-DSP 包中包含可选的 C++ 模板头文件。它们提供了更高级别的 API,并支持自动循环融合,以提升性能。
2、添加了实验性的反向模式自动微分,支持 f32 和 f16,可仅使用现有 CMSIS-DSP 内核进行设备端微调。这不是一个新的机器学习框架;其重点是学习所选 CMSIS-DSP 内核的参数。
3、为 C++ API 添加了示例。
4、修正了启用 ARM_MATH_LOOPUNROLL 时 Q15 FIR 状态缓冲区大小计算问题(#305、#317)。
5、从定点限幅辅助函数中移除了实现定义的有符号移位(#211),并扩展了相关测试。
6、修正了 arm_div_int64_to_int32 中 INT64_MIN / -1 的溢出情况(#322)。
7、修正了 arm_norm_64_to_32u 中按 32 位归一化的问题。
8、修正了控制器基准测试(#325)。
9、记录了 arm_pid_q31 中的非饱和最终转换(#327)。


为什么使用 C++ API

DSP++ C++ API 提供了一种更高级的方式,将现有 CMSIS-DSP 内核组合成新算法,同时保持良好的性能。其循环融合功能可以将多个操作合并到单个循环中,避免临时数组和对数据的重复遍历。在此 API 之上构建自动微分,可以更容易地利用现有内核编写高效的微调算法。有关其工作原理的示例,请参阅 DSP++ 简介。

1.png

自动微分

自动微分(automatic differentiation,简称 autodiff)可帮助算法从错误中学习。你描述一个计算过程,以及一个衡量其结果与期望结果差距的指标。随后,自动微分会计算每个可调参数如何影响该误差。优化器利用这些信息调整参数,以尝试减小误差。你无需手工推导导数公式。

CMSIS-DSP 自动微分是实验性的。其重点是使用现有 CMSIS-DSP 内核进行设备端微调。它不是一个全新的机器学习框架。

当算法需要适应新的测量数据或特定设备时,自动微分会有所帮助。例如,你可以从参考信号中学习滤波器系数,或使用新样本微调分类器的最后一层。目标是在小型计算中调整选定参数,而无需重新训练整个模型。

2.png


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2026-9-13 12:39 , Processed in 0.120885 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表