Data Fields
ngraph::pass::FakeQuantizeDecomposition Class Reference

FakeQuantizeDecomposition transformation decomposes FakeQuantize layer. More...

#include <fq_decomposition.hpp>

Inheritance diagram for ngraph::pass::FakeQuantizeDecomposition:

Data Fields

 NGRAPH_RTTI_DECLARATION
 

Detailed Description

FakeQuantizeDecomposition transformation decomposes FakeQuantize layer.

Expression from specification: if x <= min(input_low, input_high): output = output_low elif x > max(input_low, input_high): output = output_high else: output = round((x - input_low) / (input_high - input_low) * (levels-1)) / (levels-1) * (output_high - output_low) + output_low

expand brackets into round: round(x * (levels-1) / (input_high - input_low) - input_low * (levels-1) / (input_high - input_low)) div on (levels-1) and mult on (output_high - output_low) => mult on (output_high - output_low) / (levels-1)

=> round(x * (levels-1) / (input_high - input_low) - input_low * (levels-1) / (input_high - input_low)) * (output_high - output_low) / (levels-1) + output_low

This transformation doesn't support following cases:

  1. At least one 'range' input is not Constant
  2. At least one 'input_low' input value greater or equal than 'input_high' input value

The documentation for this class was generated from the following file: