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.
#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