ConvolutionTransformation transformation¶
ov::pass::low_precision::ConvolutionTransformation class represents the Convolution operation transformation.
The transformation propagates dequantization operations on activations and weights through the Convolution operation. The transformation supports several weights quantization approaches: * quantized weights in low precision with dequantization operations, * weights in original precision with FakeQuantize operation.
Result dequantization Multiply constant value result is calculated as multiplication for dequantization Multiply constant value on activations a and dequantization Multiply constant value on weights b :
f[ result_{i} = a_{i} cdot b_{i} f]
## Limitations
Dequantization on activations must be per-tensor. It means that dequantization Multiply constant value on activations must be scalar.
## Subgraph before transformation
### Quantized weights in low precision with dequantization operations The subgraph with quantized Convolution before transformation with quantized weights in low precision constant and dequantization operations:
![Convolution before](fq_and_convolution.common.png)
### Weights in original precision with FakeQuantize operation The subgraph with quantized Convolution before transformation with weights in original precision and FakeQuantize operation:
![Convolution before](fq_fq_and_convolution.common.png)
## Subgraph after transformation The subgraph with Convolution operation after the transformation:
![Convolution after](fq_and_convolution.transformed.png)