class ov::pass::ConvertQuantizeDequantize

Overview

ConvertQuantizeDequantize transformation replaces following graph: FakeQuantize->Convert->Convert->Subtract->Multiply with a single FakeQuantize. Restrictions: More…

#include <convert_quantize_dequantize.hpp>

class ConvertQuantizeDequantize: public ov::pass::MatcherPass
{
public:
    // methods

    "ConvertQuantizeDequantize""0" OPENVINO_RTTI(, );
};

Inherited Members

public:
    // typedefs

    typedef DiscreteTypeInfo type_info_t;

    // methods

    boolconst PassPropertyMask& get_property() const;
    voidconst std::string& set_name();
    std::string get_name() const;
    voidconst param_callback& set_callback();
    virtual voidconst std::shared_ptr<PassConfig>& set_pass_config();
    std::shared_ptr<PassConfig> get_pass_config();
    boolconst std::shared_ptr<const Node>& transformation_callback();
    virtual const type_info_t& get_type_info() const = 0;
    "ov::pass::MatcherPass" OPENVINO_RTTI();
    MatcherPass&const MatcherPass& operator = ();
    boolstd::shared_ptr<ov::Node> apply();

    template <, >
    std::shared_ptr<T>Args&&... register_new_node();

    template <>
    std::shared_ptr<T>const std::shared_ptr<T>& register_new_node();

    std::shared_ptr<ov::Node>const std::shared_ptr<ov::Node>& register_new_node_();
    const std::vector<std::shared_ptr<ov::Node>>& get_new_nodes();
    void clear_new_nodes();
    std::shared_ptr<pattern::Matcher> get_matcher();

Detailed Documentation

ConvertQuantizeDequantize transformation replaces following graph: FakeQuantize->Convert->Convert->Subtract->Multiply with a single FakeQuantize. Restrictions:

  • quantized data type must be i8 or u8

  • ‘levels’ attribute to FakeQuantize must be equal to 256

  • (output_low, output_high) must be (-128, 127) or (0, 256) (depends on sign of quantized data type)

  • ‘zero_point’ and ‘scale’ must be broadcastable to FakeQuantize’s output