class ov::pass::ConcatReduceFusion¶
Overview¶
ConcatReduceFusion pass replaces the following graph: More…
#include <concat_reduce_fusion.hpp>
class ConcatReduceFusion: public ov::pass::GraphRewrite
{
public:
// methods
OPENVINO_RTTI("ConcatReduceFusion", "0");
};
Inherited Members¶
public:
// typedefs
typedef DiscreteTypeInfo type_info_t;
// methods
bool get_property(const PassPropertyMask& prop_mask) const;
void set_name(const std::string& name);
std::string get_name() const;
void set_callback(const param_callback& callback);
virtual void set_pass_config(const std::shared_ptr<PassConfig>& pass_config);
std::shared_ptr<PassConfig> get_pass_config();
bool m_transformation_callback(const std::shared_ptr<const Node>& node);
bool transformation_callback(const std::shared_ptr<const Node>& node);
virtual const type_info_t& get_type_info() const = 0;
OPENVINO_RTTI("ov::pass::ModelPass");
virtual bool run_on_function(std::shared_ptr<ov::Model> m);
virtual bool run_on_model(const std::shared_ptr<ov::Model>& m);
OPENVINO_RTTI("ov::pass::GraphRewrite");
template <
typename T,
bool Enabled = true,
class... Args,
typename std::enable_if<std::is_base_of<pass::MatcherPass, T>::value, bool>::type = true
>
std::shared_ptr<T> add_matcher(Args&&... args);
template <
typename T,
class... Args,
typename std::enable_if<std::is_base_of<pass::GraphRewrite, T>::value, bool>::type = true
>
void add_matcher(Args&&... args);
std::shared_ptr<MatcherPass> add_matcher(const std::shared_ptr<MatcherPass>& pass);
void add_matcher(
const std::shared_ptr<pattern::Matcher>& m,
const graph_rewrite_callback& callback,
const PassPropertyMask& property
);
void add_matcher(
const std::shared_ptr<pattern::Matcher>& m,
const ov::graph_rewrite_callback& callback
);
virtual bool run_on_model(const std::shared_ptr<ov::Model>& m);
virtual void set_pass_config(const std::shared_ptr<PassConfig>& pass_config);
Detailed Documentation¶
ConcatReduceFusion pass replaces the following graph:
+---------------+ +---------------+
│ │ | |
│ input │ | input |
│ │ | |
+---------------+ +----------------
| |
| |
\ /
\ /
\ /
\ /
\ /
\ /
\ /
\ /
\ /
+---------------+
| |
| Concat |
| |
+----------------
|
v
+---------------+
| |
| ReduceMin/ |
| ReduceMax |
+----------------
by a single Minimum/Maximum with 2 inputs and tries to eliminate Squeeze/Unsqueeze layers before and after Min/Max.