summaryrefslogtreecommitdiff
path: root/compiler/luci/pass/src/QuantizeDequantizeWeightsPass.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/luci/pass/src/QuantizeDequantizeWeightsPass.cpp')
-rw-r--r--compiler/luci/pass/src/QuantizeDequantizeWeightsPass.cpp30
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)
{