From 2d4a76a3df4cb9c4466de3b27adc0c0217d2e59f Mon Sep 17 00:00:00 2001 From: Suharsh Sivakumar Date: Fri, 6 Jul 2018 14:01:23 -0700 Subject: Call QuantizeWeights transformation *after* batchnorms have been folded. PiperOrigin-RevId: 203521700 --- tensorflow/contrib/lite/toco/toco_tooling.cc | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/tensorflow/contrib/lite/toco/toco_tooling.cc b/tensorflow/contrib/lite/toco/toco_tooling.cc index fc1636831b..3ca36338eb 100644 --- a/tensorflow/contrib/lite/toco/toco_tooling.cc +++ b/tensorflow/contrib/lite/toco/toco_tooling.cc @@ -273,13 +273,16 @@ void Transform(const TocoFlags& toco_flags, Model* model) { transformations.Add(new toco::MergeLstmCellInputs); } } - if (toco_flags.quantize_weights()) { - transformations.Add(new QuantizeWeights); - } transformations.Add(new ResolveConstantConcatenation); RunGraphTransformations(model, "general graph transformations", transformations); + if (toco_flags.quantize_weights()) { + // Run the quantize weights transformation after batchnorms have been + // folded into the weights. + RunGraphTransformations(model, "quantize weights transformation", + {new QuantizeWeights}); + } if (quantize_output) { if (toco_flags.propagate_fake_quant_num_bits()) { RunGraphTransformations(model, -- cgit v1.2.3