我正在尝试根据建议量化MobileFacenet(来自 sirius-ai 的代码) ,我认为我遇到了与这个 相同的问题
当我添加tf.contrib.quantize.create_training_graph()
到训练图中
(train_nets.py ln.187:在梯度之前train_op = train(...)
或在train()
utils/common.py ln.38 之前)
它没有在图中添加量化感知操作来收集动态范围 max\min。
我假设我应该在 tensorboard 中看到一些额外的节点,但我没有,因此我认为我没有成功地在训练图中添加量化感知操作。我尝试追踪 tensorflow,发现我对 _FindLayersToQuantize() 一无所获。
但是,当我添加tf.contrib.quantize.create_eval_graph()
以优化训练图时。我可以看到一些量化感知操作作为act_quant ...由于我没有成功在训练图中添加操作,因此我没有权重可以加载到评估图中。因此我收到了一些错误消息
Key MobileFaceNet/Logits/LinearConv1x1/act_quant/max not found in checkpoint
或者
tensorflow.python.framework.errors_impl.FailedPreconditionError: Attempting to use uninitialized value MobileFaceNet/Logits/LinearConv1x1/act_quant/max
有谁知道如何解决这个错误?或者如何以高精度获得量化的 MobileFacenet?
谢谢!