DEPTHWISE_CONV_2D with per-channel quantization.

Variant of DEPTHWISE_CONV_2D operand that takes:
- TENSOR_QUANT8_ASYMM as input tensor.
- TENSOR_QUANT8_ASYMM as output tensor.
- TENSOR_INT32 as bias tensor.
- TENSOR_QUANT8_SYMM_PER_CHANNEL as filter tensor.

Filter tensor channel dimension has to be 3.

Bias tensor scale value has to be set to 0. Its actual
scaling values depends on value position in the tensor:
bias[d].scale = input_tensor.scale * filter.scales[d]
We may want introduce TENSOR_INT32_PER_CHANNEL for
validation of biases scaling.

Bug: 119255406
Test: Vts/Cts NNAPI tests.
Change-Id: I355dd548794807929d335e9dbe0a59a36419818e
Merged-In: I355dd548794807929d335e9dbe0a59a36419818e
(cherry picked from commit 1ed126134cf8b0d01b41aa52e167fa54acb13849)
15 files changed