diff options
Diffstat (limited to 'compiler/luci/pass/src/QuantizeDequantizeWeightsPass.cpp')
-rw-r--r-- | compiler/luci/pass/src/QuantizeDequantizeWeightsPass.cpp | 30 |
1 files changed, 0 insertions, 30 deletions
diff --git a/compiler/luci/pass/src/QuantizeDequantizeWeightsPass.cpp b/compiler/luci/pass/src/QuantizeDequantizeWeightsPass.cpp index c492234c7..e9925c7ff 100644 --- a/compiler/luci/pass/src/QuantizeDequantizeWeightsPass.cpp +++ b/compiler/luci/pass/src/QuantizeDequantizeWeightsPass.cpp @@ -284,36 +284,6 @@ void asymmetric_wdequant_per_channel(CircleConst *node, std::vector<float> &scal } } -void asymmetric_wquant_with_minmax_per_layer(CircleConst *node, float min, float max, - float &scaling_factor, int64_t &zp, float &nudged_min, - float &nudged_max) -{ - - const int32_t kMinScale = 0; - const int32_t kMaxScale = 255; - - uint32_t size = node->size<loco::DataType::FLOAT32>(); - compute_asym_scale_zp(min, max, scaling_factor, zp, nudged_min, nudged_max); - const float scaling_factor_inv = 1.0 / scaling_factor; - std::vector<int32_t> quantized_values(size); - for (uint32_t i = 0; i < size; ++i) - { - // clipping - auto data = node->at<loco::DataType::FLOAT32>(i); - data = data < nudged_min ? nudged_min : data; - data = data > nudged_max ? nudged_max : data; - quantized_values[i] = - static_cast<int32_t>(std::round((data - nudged_min) * scaling_factor_inv)); - } - - node->dtype(loco::DataType::U8); // change the type of tensor - node->size<loco::DataType::U8>(size); // resize tensor - for (uint32_t i = 0; i < size; ++i) - { - node->at<loco::DataType::U8>(i) = std::min(kMaxScale, std::max(kMinScale, quantized_values[i])); - } -} - void asymmetric_wdequant_with_minmax_per_layer(CircleConst *node, float scaling_factor, float nudged_min) { |