Modify generate<uint8_t> of RandomGenerator to generate the appropriate random value...
author장지섭/동작제어Lab(SR)/Engineer/삼성전자 <jiseob.jang@samsung.com>
Wed, 18 Jul 2018 02:40:14 +0000 (11:40 +0900)
committer오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 <hseok82.oh@samsung.com>
Wed, 18 Jul 2018 02:40:14 +0000 (11:40 +0900)
This commit modifies generate<uint8_t> of RandomGenerator to generate the appropriate random value.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
libs/support/tflite/src/Diff.cpp

index fca2e68..c909113 100644 (file)
@@ -255,7 +255,13 @@ using namespace std::placeholders;
 
 template <> uint8_t RandomGenerator::generate<uint8_t>(void)
 {
-  return static_cast<uint8_t>(_dist(_rand) / _quantization.scale + _quantization.zero_point);
+  // The value of type_range is 255.
+  float type_range = static_cast<float>(std::numeric_limits<uint8_t>::max()) -
+                     static_cast<float>(std::numeric_limits<uint8_t>::min());
+  // Most _dist values range from -5.0 to 5.0.
+  float min_range = -5.0f;
+  float max_range = 5.0f;
+  return static_cast<uint8_t>((_dist(_rand) - min_range) * type_range / (max_range - min_range));
 }
 
 //