46 const uint32_t paddingRight,
const uint32_t paddingTop,
47 const uint32_t paddingBottom,
const uint32_t strideW,
const uint32_t strideH,
48 const uint32_t multiplier,
const uint32_t dilationWidth,
50 IPortableTensor *output,
const std::shared_ptr<ExternalContext> &external_context);
57 void prepareQ8uPerChannel();
58 void prepareQ8iHybridPerChannel();
59 void ensureQ8iHybridPerChannel();
87 std::shared_ptr<ExternalContext> _external_context;
89 bool _prepared{
false};
92 std::vector<int32_t> _per_channel_output_multiplier;
93 std::vector<int> _per_channel_output_shift;
96 bool _is_hybrid{
false};
97 std::vector<int8_t> _input_quantized;
98 std::vector<float> _input_scaling_factors;
99 std::vector<int32_t> _input_offsets;
void configure(const IPortableTensor *input, const IPortableTensor *kernel, const IPortableTensor *bias, const uint32_t paddingLeft, const uint32_t paddingRight, const uint32_t paddingTop, const uint32_t paddingBottom, const uint32_t strideW, const uint32_t strideH, const uint32_t multiplier, const uint32_t dilationWidth, const uint32_t dilationHeight, const ir::Activation activation, IPortableTensor *output, const std::shared_ptr< ExternalContext > &external_context)