Class ov::pass::MarkDequantization#

class MarkDequantization : public ov::pass::MatcherPass#

MarkDequantization matches Dequantization subgraphs and marks Subtract and Multiply nodes with the dequantization attribute. Also if Convert nodes are part of the subgraph they might be marked with the disable_const_folding attribute.

If Convert -> Reshape/Unsqueeze are part of the Dequantization subraph, Convert and Reshape/Unsqueeze nodes will be swapped to eliminate Reshape/Unsqueeze in the next ConstantFolding.

Dequantization subgraph may have two forms: with and without Subtract. ZeroPoints and Scale might be present as subgraphs and include Convert ops.

Input       ZeroPoints
  │             │
  ▼             ▼
Convert   (opt) Reshape/Unsqueeze
      │      │
      ▼      ▼    Scale                        Input     Scale
      Subtract     │                            │         │
           │       ▼                            ▼         ▼
           │     (opt) Reshape/Unsqueeze       Convert  (opt) Reshape/Unsqueeze
           │      │                               │      │
           ▼      ▼                               ▼      ▼
           Multiply                               Multiply