aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/contrib/lite/kernels
diff options
context:
space:
mode:
authorGravatar Alan Chiao <alanchiao@google.com>2018-09-17 12:07:28 -0700
committerGravatar TensorFlower Gardener <gardener@tensorflow.org>2018-09-17 12:12:00 -0700
commitf9cf0e5496569d4a9a1edb25fba1d6afd6dab6b7 (patch)
treea8b0d96ee9a6850c9ec1101af5b65aa244a5928e /tensorflow/contrib/lite/kernels
parenta1ea2be7ce4d19c5cd098be2ecd1488a30605899 (diff)
Numerics tweak to symmetric quantization.
PiperOrigin-RevId: 213314024
Diffstat (limited to 'tensorflow/contrib/lite/kernels')
-rw-r--r--tensorflow/contrib/lite/kernels/internal/optimized/neon_tensor_utils.cc2
-rw-r--r--tensorflow/contrib/lite/kernels/internal/reference/portable_tensor_utils.cc2
2 files changed, 2 insertions, 2 deletions
diff --git a/tensorflow/contrib/lite/kernels/internal/optimized/neon_tensor_utils.cc b/tensorflow/contrib/lite/kernels/internal/optimized/neon_tensor_utils.cc
index 27418178fd..36c15dbc57 100644
--- a/tensorflow/contrib/lite/kernels/internal/optimized/neon_tensor_utils.cc
+++ b/tensorflow/contrib/lite/kernels/internal/optimized/neon_tensor_utils.cc
@@ -457,7 +457,7 @@ void NeonSymmetricQuantizeFloats(const float* values, const int size,
return;
}
*scaling_factor = range / kScale;
- const float scaling_factor_inv = 1.0f / *scaling_factor;
+ const float scaling_factor_inv = kScale / range;
const int postamble_start =
size - (size & (2 * kFloatWeightsPerNeonLane - 1));
diff --git a/tensorflow/contrib/lite/kernels/internal/reference/portable_tensor_utils.cc b/tensorflow/contrib/lite/kernels/internal/reference/portable_tensor_utils.cc
index 77e60adc18..70d25c4bd9 100644
--- a/tensorflow/contrib/lite/kernels/internal/reference/portable_tensor_utils.cc
+++ b/tensorflow/contrib/lite/kernels/internal/reference/portable_tensor_utils.cc
@@ -55,7 +55,7 @@ void PortableSymmetricQuantizeFloats(const float* values, const int size,
return;
}
*scaling_factor = range / kScale;
- const float scaling_factor_inv = 1.0f / *scaling_factor;
+ const float scaling_factor_inv = kScale / range;
for (int i = 0; i < size; ++i) {
const int32_t quantized_value =
static_cast<int32_t>(TfLiteRound(values[i] * scaling_factor_inv));