Warning when tweaking a minmax to contain 0.
authorA. Unique TensorFlower <gardener@tensorflow.org>
Wed, 4 Apr 2018 19:00:38 +0000 (12:00 -0700)
committerTensorFlower Gardener <gardener@tensorflow.org>
Wed, 4 Apr 2018 19:03:02 +0000 (12:03 -0700)
PiperOrigin-RevId: 191625723

tensorflow/contrib/lite/toco/graph_transformations/read_fake_quant_min_max.cc

index 11f8d4b..bdcca5b 100644 (file)
@@ -72,6 +72,13 @@ bool ReadFakeQuantMinMax::Run(Model* model, std::size_t op_index) {
     minmax.min = min_array.GetBuffer<ArrayDataType::kFloat>().data[0];
     minmax.max = max_array.GetBuffer<ArrayDataType::kFloat>().data[0];
     // We always want [min, max] to contain 0.
+    if (minmax.min > 0 || minmax.max < 0) {
+      LOG(ERROR) << "For " << LogName(*fakequant_op) << " the MinMax range "
+                 << "[" << minmax.min << ", " << minmax.max
+                 << "] does not contain 0. "
+                 << "Proceeding by tweaking it to contain 0, which will result "
+                    "in poor accuracy.";
+    }
     minmax.min = std::min(minmax.min, 0.);
     minmax.max = std::max(minmax.max, 0.);