我想训练量化网络,即在前向传递期间使用量化权重来计算损失,然后在后向传递期间更新基础全精度浮点权重 .

这个问题已经被问到here但没有回答 .

请注意,在我的情况下,“假量化”就足够了 . 这意味着权重仍然可以存储为32位浮点值,只要它们代表低位宽量化值即可 .

blog post from Pete Warden他说:

“[...]我们确实支持”假量化“运算符 . 如果你在图表中包含预期量化的点(例如在卷积之后),那么在正向传递中浮点值将是舍入到指定的级别数(通常为256)以模拟量化效果 . “

提到的运算符可以在TensorFlow API中找到 .

谁能指出我如何使用这些功能?如果我在例如在我的模型定义中的转换层,为什么要量化层中的权重而不是该层的输出(激活)?