我有一个 TF 模型,它经过量化训练、冻结、使用 TOCO 转换为 tflite,现在我有了 TFLite HTML 图形模型和 json。
我可以看到,对于图中的每个张量,每个张量都有量化属性(最小值、最大值、比例、零点),我试图确定这些属性中的每一个如何应用于每个张量。
例如,我了解量化数据的表示,并且我可以理解采用量化的权重/偏差,乘以比例并添加最小值会返回原始的权重/偏差(几乎)。
我不明白的是:
- 为什么有些张量具有量化属性(例如 Relu、Sigmoid)但没有内在参数(例如权重和偏差)?是因为它们是输出张量并且在数据输入到下一个操作之前应用了量化吗?
- 在通过模型的数据流期间在哪些点(如果有)应用量化?例如,假设有一个浮点图像张量通过了 conv2d 操作 - weights/bias/relu 的量化属性在哪里以及如何用于获取 conv2d 操作的输出?
本质上,如果我将 TFLite 模型数据解析为一个 numpy 数组,那么我需要了解关于通过网络的数据流(关于量化)的所有信息,以便从头开始重新创建模型进行推理.
我似乎找不到任何关于此的文档。任何帮助,将不胜感激。