[moco-tf] Register Reshape elimination transforms (#6624)
author박천교/On-Device Lab(SR)/Engineer/삼성전자 <ch.bahk@samsung.com>
Fri, 16 Aug 2019 01:43:42 +0000 (10:43 +0900)
committer박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 <saehie.park@samsung.com>
Fri, 16 Aug 2019 01:43:42 +0000 (10:43 +0900)
This commit registers following Reshape elimination transforms to
canonical optimization stage:
- ResolveDuplicateReshape
- ResolveRedundantReshape

Signed-off-by: Cheongyo Bahk <ch.bahk@samsung.com>
compiler/moco-tf/src/Optimizer.cpp
compiler/moco-tf/src/Transforms.h

index 819b40e..52347ae 100644 (file)
@@ -29,6 +29,8 @@ namespace tf
 
 void Optimizer::optimize(loco::Graph *g) const
 {
+  // TODO Canonical Shape inference
+
   moco::tf::Phase phase;
 
   /* TRANSFORM DECLARATION BEGIN */
@@ -56,6 +58,16 @@ void Optimizer::optimize(loco::Graph *g) const
   {
     phase.emplace_back(stdex::make_unique<RemoveForwardNodeTransform>());
   }
+
+  if (moco::tf::get<moco::tf::Knob::ResolveDuplicateReshape>())
+  {
+    phase.emplace_back(stdex::make_unique<ResolveDuplicateReshape>());
+  }
+
+  if (moco::tf::get<moco::tf::Knob::ResolveRedundantReshape>())
+  {
+    phase.emplace_back(stdex::make_unique<ResolveRedundantReshape>());
+  }
   /* TRANSFORM DECLARATION END */
 
   moco::tf::PhaseRunner<moco::tf::PhaseStrategy::Saturate> phase_runner{g};
index b108688..22913c1 100644 (file)
@@ -25,7 +25,9 @@
 #include "Transforms/RemoveForwardNodeTransform.h"
 #include "Transforms/ReorderDecodeTransform.h"
 #include "Transforms/ResolveConstantShape.h"
+#include "Transforms/ResolveDuplicateReshape.h"
 #include "Transforms/ResolveFusedBatchNorm.h"
+#include "Transforms/ResolveRedundantReshape.h"
 #include "Transforms/ResolveReshapeWildcardDim.h"
 #include "Transforms/SimplifyDomainConversionTransform.h"