}
else
{
- compute_sym_scale_zp(min, max, scaling_factor, zp, nudged_min, nudged_max);
+ compute_sym_scale(min, max, scaling_factor, nudged_min, nudged_max);
node->dtype(loco::DataType::S16);
}
auto input_node = node->arg(i);
auto const_node = dynamic_cast<luci::CircleConst *>(input_node);
if (const_node != nullptr)
- throw std::runtime_error("Unsupported Op for const inputs");
+ {
+ std::string msg = "Unsupported Op for const inputs: " + node->name();
+ throw std::runtime_error(msg);
+ }
}
}
QUANTIZE_SINGLE_CONST_INPUT(luci::CircleExp, x)
QUANTIZE_SINGLE_CONST_INPUT(luci::CircleFloor, x)
QUANTIZE_SINGLE_CONST_INPUT(luci::CircleGather, params)
+QUANTIZE_SINGLE_CONST_INPUT(luci::CircleGelu, features)
QUANTIZE_SINGLE_CONST_INPUT(luci::CircleLocalResponseNormalization, input)
QUANTIZE_SINGLE_CONST_INPUT(luci::CircleLogistic, x)
QUANTIZE_SINGLE_CONST_INPUT(luci::CircleMean, input)
QUANTIZE_SINGLE_CONST_INPUT(luci::CircleSplit, input)
QUANTIZE_SINGLE_CONST_INPUT(luci::CircleSplitV, input)
QUANTIZE_SINGLE_CONST_INPUT(luci::CircleSqrt, x)
+QUANTIZE_SINGLE_CONST_INPUT(luci::CircleSqueeze, input)
QUANTIZE_SINGLE_CONST_INPUT(luci::CircleStridedSlice, input)
QUANTIZE_SINGLE_CONST_INPUT(luci::CircleSum, input)
QUANTIZE_SINGLE_CONST_INPUT(luci::CircleTanh, x)
QUANTIZE_TWO_CONST_INPUTS(luci::CircleDiv, x, y)
QUANTIZE_TWO_CONST_INPUTS(luci::CircleEqual, x, y)
QUANTIZE_TWO_CONST_INPUTS(luci::CircleFloorDiv, x, y)
+QUANTIZE_TWO_CONST_INPUTS(luci::CircleFloorMod, x, y)
QUANTIZE_TWO_CONST_INPUTS(luci::CircleGreater, x, y)
QUANTIZE_TWO_CONST_INPUTS(luci::CircleGreaterEqual, x, y)
QUANTIZE_TWO_CONST_INPUTS(luci::CircleLess, x, y)