Bound quantized clipping properly.
PiperOrigin-RevId: 266927331
This commit is contained in:
parent
5987362c41
commit
54a26c673e
@ -137,14 +137,15 @@ TfLiteStatus PopulateQuantizedLstmParams(
|
||||
auto* proj_params = reinterpret_cast<TfLiteAffineQuantization*>(
|
||||
output_tensor->quantization.params);
|
||||
if (cell_clip > 0.0) {
|
||||
quantized_lstm_param->quantized_cell_clip =
|
||||
static_cast<int16_t>(cell_clip / cell_params->scale->data[0]);
|
||||
quantized_lstm_param->quantized_cell_clip = static_cast<int32_t>(
|
||||
std::min(std::max(cell_clip / cell_params->scale->data[0], -32768.0f),
|
||||
32767.0f));
|
||||
} else {
|
||||
quantized_lstm_param->quantized_cell_clip = 0;
|
||||
}
|
||||
if (proj_clip > 0.0) {
|
||||
quantized_lstm_param->quantized_proj_clip =
|
||||
static_cast<int8_t>(proj_clip / proj_params->scale->data[0]);
|
||||
quantized_lstm_param->quantized_proj_clip = static_cast<int32_t>(std::min(
|
||||
std::max(proj_clip / proj_params->scale->data[0], -128.0f), 127.0f));
|
||||
} else {
|
||||
quantized_lstm_param->quantized_proj_clip = 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user