ONE - On-device Neural Engine
Loading...
Searching...
No Matches
exo::FuseInstanceNormPass Struct Referencefinal

Class to fuse certain pattern of subgraph into CircleInstanceNorm with auxiliary nodes. More...

#include <FuseInstanceNormPass.h>

Collaboration diagram for exo::FuseInstanceNormPass:

Public Member Functions

const char * name (void) const final
 
bool run (loco::Graph *g) final
 Run the pass.
 
- Public Member Functions inherited from logo::Pass
virtual ~Pass ()=default
 

Detailed Description

Class to fuse certain pattern of subgraph into CircleInstanceNorm with auxiliary nodes.

For detailed subgraph pattern to be fused, please check its implementation.

Definition at line 31 of file FuseInstanceNormPass.h.

Member Function Documentation

◆ name()

const char * exo::FuseInstanceNormPass::name ( void  ) const
inlinefinalvirtual

Reimplemented from logo::Pass.

Definition at line 33 of file FuseInstanceNormPass.h.

33{ return "exo::FuseInstanceNormPass"; }

◆ run()

bool exo::FuseInstanceNormPass::run ( loco::Graph graph)
finalvirtual

Run the pass.

Returns
false if there was nothing changed

Implements logo::Pass.

Definition at line 382 of file FuseInstanceNormPass.cpp.

383{
384 bool changed = false;
385 for (auto node : loco::active_nodes(loco::output_nodes(g)))
386 {
387 auto add = dynamic_cast<locoex::TFLAdd *>(node);
388 if (not add)
389 continue;
390
391 InstanceNormPattern pattern(add);
392 if (not pattern.matched())
393 continue;
394
395 fuse_instance_norm(pattern);
396 changed = true;
397 }
398
399 return changed;
400}
ADD in TensorFlow Lite.
Definition TFLNodes.h:116
std::set< loco::Node * > active_nodes(const std::vector< loco::Node * > &roots)
Enumerate all the nodes required to compute "roots".
std::vector< Node * > output_nodes(Graph *)
Definition Graph.cpp:101

References loco::active_nodes(), and loco::output_nodes().

Referenced by package.infer.session::inference().


The documentation for this struct was generated from the following files: