Defining a Fusion Pattern Class
In the fusion pattern header file (for example, decode_bbox_v2_scope_fusion_pass.h), define a scope fusion pattern class, which is inherited from Class ScopeBasePass.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
#ifndef FRAMEWORK_TF_SCOPE_FUSION_PASS_DECODE_BBOX_V2_PASS_H_ // Define a condition. #define FRAMEWORK_TF_SCOPE_FUSION_PASS_DECODE_BBOX_V2_PASS_H_ // Define a macro. #include <string> #include <vector> #include "register/scope/scope_fusion_pass_register.h" namespace ge { class DecodeBboxV2ScopeFusionPass : public ScopeBasePass { protected: std::vector<ScopeFusionPatterns> DefinePatterns() override; std::string PassName() override; Status LastMatchScopesAndOPs(std::shared_ptr<ScopeGraph> &scope_graph, std::vector<ScopesResult> &results) override; void GenerateFusionResult(const std::vector<Scope *> &scopes, FusionScopesResult *fusion_rlt) override; private: void GenScopePatterns(ScopeFusionPatterns &patterns); }; } // namespace ge #endif // FRAMEWORK_TF_SCOPE_FUSION_PASS_DECODE_BBOX_V2_PASS_H_ End conditional compilation. |
Parent topic: Implementing Scope Fusion Patterns