最近,我在tf1.x上进行了量化感知训练,以将该模型推向Coral Dev Board。然而,当我完成对模型的训练后,为什么我的2个输出中的最小最大值是相同的?
当一个人的最大目标是95和一个人是2pi时,它应该是不同的吗?

发布于 2020-10-23 18:52:18
我已经弄清楚了问题所在。当模型的这一部分没有真正经过QAT训练时,这就是问题所在。对于训练时不知何故忘记了QAT的输出节点,会发生这种情况。正如前面提到的here,-6和6值来自tf1.x的默认量化来源
为了克服这个问题,我们应该提供一些op来触发输出节点的QAT。在我的回归示例中,我在模型中添加了一个虚拟的op: tf.maximum(output,0)来创建节点QAT。如果您的输出严格在0-1之间,那么在输出中应用"sigmoid“激活而不是relu也可以解决问题。

https://stackoverflow.com/questions/64345331
复制相似问题