class ngraph::pass::low_precision::AddTransformation

Overview

AddTransformation propagates dequantization subtraction from one input branch to another and propagates dequantization multiplication from the same branch through Add operation. More…

#include <add.hpp>

class AddTransformation: public ngraph::pass::low_precision::EltwiseBaseTransformation
{
public:
    // construction

    AddTransformation();

    // methods

    "AddTransformation""0" OPENVINO_RTTI(, );
    virtual boolTransformationContext&ngraph::pattern::Matcher& transform(, );

    virtual boolconst TransformationContext&std::shared_ptr<Node> canBeTransformed(
        ,

        ) const;
};

Inherited Members

public:
    // typedefs

    typedef DiscreteTypeInfo type_info_t;

    // classes

    class Params;
    class PrecisionDetails;

    // 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();
    virtual boolTransformationContext&ov::pass::pattern::Matcher& transform(, ) = 0;
    voidTransformationContext \* setContext();
    voidconst bool setUpdatePrecisions();
    voidconst std::vector<ngraph::element::Type>& setDefaultPrecisions();

    virtual boolconst TransformationContext&std::shared_ptr<Node> canBeTransformed(
        ,

        ) const;

    boolconst std::shared_ptr<Node>&const FakeQuantizeDequantization& canSubtractBeHandled(
        ,

        ) const;

    virtual boolconst std::shared_ptr<const Node>&const std::vector<ngraph::element::Type>& isQuantized(
        ,

        ) const;

    virtual boolstd::shared_ptr<Node> isPrecisionPreserved() const = 0;

    static boolconst std::shared_ptr<Node>&const std::vector<ngraph::element::Type>& canBeTransformedStatic(
        ,

        );

    static PrecisionDetailsconst size_tconst std::vector<float>&const std::vector<float>& getPrecisionDetails(
        ,
        ,

        );

    static PrecisionDetailsconst QuantizationDetails& getPrecisionDetails();

    static boolconst std::shared_ptr<const Node>&const std::vector<ngraph::element::Type>& isAsymmetricQuantization(
        ,

        );

    static DataPrecisionconst std::shared_ptr<Node>&const QuantizationDetails&const std::vector<element::Type>& getDataPrecision(
        ,
        ,

        );

    virtual boolconst TransformationContext&std::shared_ptr<Node> canBeTransformed(
        ,

        ) const;

    virtual boolstd::shared_ptr<Node> isPrecisionPreserved() const;
    static boolconst PartialShape& isBroadcasted();

Detailed Documentation

AddTransformation propagates dequantization subtraction from one input branch to another and propagates dequantization multiplication from the same branch through Add operation.

For more details about the transformation, refer to AddTransformation page in the Inference Engine Developer Guide.