我想了解在TensorflowLite中量化模型的卷积层所做的基本运算。
作为基线,我选择了一个经过预先训练的Tensorflow模型,高效网络-lite0-int8,并使用一个样本图像作为模型推理的输入。在此之后,我成功地提取了第一个融合ReLU6卷积层的输出张量,并将将这个输出与我在这上的定制python实现的输出进行了比较。
这两个张量之间的偏差很大,我无法解释的是,Tensorflow的输出张量并不像预期的那样在0,6的范围内(我预计这是因为Conv层中的融合ReLU6层)。
,你能给我提供一个更详细的描述一个量化的融合Relu6 Conv2D层在TensorflowLite?中的操作吗?
发布于 2021-12-17 11:26:33
之后,仔细研究了Tensorflow的github存储库,发现了kernel_util.cc文件和CalculateActivationRangeUint8函数。所以使用这个函数,我设法理解了为什么量子化的融合ReLu6 Conv2D层的输出张量不是在0,6之间,而是在-128,127个值之间。为了记录在案,我用一些简单的步骤实现了一个Conv2D层的操作。
https://stackoverflow.com/questions/70292380
复制相似问题