Tensorflow:嵌入式DSP的定点量化

Tensorflow:嵌入式DSP的定点量化,tensorflow,signal-processing,tensorflow-lite,Tensorflow,Signal Processing,Tensorflow Lite,为我的新手问题道歉 从这些文档中,我了解了使用8位数字节省内存和提高性能的优势,对准确性的影响非常小: 其他博客提到这些量化模型可以卸载到DSP上,我有一个低成本的DSP,它可以在一个时钟中以非常低的功耗进行168次乘法和9位输入,我想用它对我训练过的一些模型进行推断。我不想使用任何现有的框架,因为它们无论如何都不适合目标。我只想训练模型,保存它,然后自己阅读权重,同时我将手工硬编码网络的流/图,作为概念的证明 当我把它看作一个压缩时,使用MI/MAX作为层+8位权重是有意义的,这可能导致非对

为我的新手问题道歉

从这些文档中,我了解了使用8位数字节省内存和提高性能的优势,对准确性的影响非常小:

其他博客提到这些量化模型可以卸载到DSP上,我有一个低成本的DSP,它可以在一个时钟中以非常低的功耗进行168次乘法和9位输入,我想用它对我训练过的一些模型进行推断。我不想使用任何现有的框架,因为它们无论如何都不适合目标。我只想训练模型,保存它,然后自己阅读权重,同时我将手工硬编码网络的流/图,作为概念的证明

当我把它看作一个压缩时,使用MI/MAX作为层+8位权重是有意义的,这可能导致非对称范围,0不在8位范围的中间。将其解压缩为32位实数,使计算变得容易

但仍有多个博客提到,这种方法可以直接在DSP上使用,并用8位数字进行计算。我仍然无法理解这是如何实现的。在过去,我用定点数学,我假装某个地方是小数点,然后在乘法后移动结果。但我认为,当使用最小/最大/非对称方法来训练/存储模型时,这是不可能做到的。我是否遗漏了一些东西,因为我无法理解如何在DSP中使用简单的整数乘法器在低级别实现这一点