|
|
|
@@ -273,9 +273,9 @@ int ConvolutionBaseCPUKernel::SetQuantMultiplier() { |
|
|
|
conv_quant_arg_->out_act_max_ = reinterpret_cast<int32_t *>(malloc(sizeof(int32_t))); |
|
|
|
|
|
|
|
for (int i = 0; i < weight_arg_num; ++i) { |
|
|
|
double real_multiplier = conv_quant_arg_->filter_quant_args_[i].scale_ * |
|
|
|
conv_quant_arg_->input_quant_args_[0].scale_ / |
|
|
|
conv_quant_arg_->output_quant_args_[0].scale_; |
|
|
|
const double in_scale = |
|
|
|
static_cast<double>(conv_quant_arg_->input_quant_args_[0].scale_ * conv_quant_arg_->filter_quant_args_[i].scale_); |
|
|
|
double real_multiplier = in_scale / static_cast<double>(conv_quant_arg_->output_quant_args_[0].scale_); |
|
|
|
conv_quant_arg_->real_multiplier_[i] = real_multiplier; |
|
|
|
QuantizeRoundParameter(real_multiplier, &conv_quant_arg_->quant_multiplier_[i], &conv_quant_arg_->left_shift_[i], |
|
|
|
&conv_quant_arg_->right_shift_[i]); |
|
|
|
|