[moco-tf] Use logo Pass (#7030)
author박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 <saehie.park@samsung.com>
Thu, 29 Aug 2019 09:35:02 +0000 (18:35 +0900)
committerGitHub Enterprise <noreply-CODE@samsung.com>
Thu, 29 Aug 2019 09:35:02 +0000 (18:35 +0900)
* [moco-tf] Use logo Pass

This will update to use logo Pass as transformations for two Optimiziers

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
* use moco::tf::Knob

compiler/moco-tf/src/Optimizer.cpp
compiler/moco-tf/src/TFOptimizer.cpp
compiler/moco-tf/src/Transforms.h

index 6f3f761..fee4d02 100644 (file)
@@ -37,37 +37,44 @@ void Optimizer::optimize(loco::Graph *g) const
 
   if (moco::tf::get<moco::tf::Knob::ConstantFolding>())
   {
-    phase.emplace_back(stdex::make_unique<ConstantFoldingTransform>());
+    phase.emplace_back(stdex::make_unique<logo::ConstantFoldingPass>());
   }
 
   if (moco::tf::get<moco::tf::Knob::RemoveDeadNode>())
   {
-    phase.emplace_back(stdex::make_unique<RemoveDeadNodeTransform>());
+    phase.emplace_back(stdex::make_unique<logo::RemoveDeadNodePass>());
   }
 
-  if (moco::tf::get<moco::tf::Knob::ReorderDecode>())
+  if (moco::tf::get<moco::tf::Knob::ReorderDecode>() &&
+      moco::tf::get<moco::tf::Knob::ReorderDecodeTensorBiasAdd>())
   {
-    phase.emplace_back(stdex::make_unique<ReorderDecodeTransform>());
+    phase.emplace_back(stdex::make_unique<logo::ReorderDecodePass<loco::TensorBiasAdd>>());
+  }
+
+  if (moco::tf::get<moco::tf::Knob::ReorderDecode>() &&
+      moco::tf::get<moco::tf::Knob::ReorderDecodeReLU>())
+  {
+    phase.emplace_back(stdex::make_unique<logo::ReorderDecodePass<loco::ReLU>>());
   }
 
   if (moco::tf::get<moco::tf::Knob::SimplifyDomainConversion>())
   {
-    phase.emplace_back(stdex::make_unique<SimplifyDomainConversionTransform>());
+    phase.emplace_back(stdex::make_unique<logo::SimplifyDomainConversionPass>());
   }
 
   if (moco::tf::get<moco::tf::Knob::RemoveForwardNode>())
   {
-    phase.emplace_back(stdex::make_unique<RemoveForwardNodeTransform>());
+    phase.emplace_back(stdex::make_unique<logo::RemoveForwardNodePass>());
   }
 
   if (moco::tf::get<moco::tf::Knob::ResolveDuplicateReshape>())
   {
-    phase.emplace_back(stdex::make_unique<ResolveDuplicateReshape>());
+    phase.emplace_back(stdex::make_unique<logo::ResolveDuplicateReshapePass>());
   }
 
   if (moco::tf::get<moco::tf::Knob::ResolveRedundantReshape>())
   {
-    phase.emplace_back(stdex::make_unique<ResolveRedundantReshape>());
+    phase.emplace_back(stdex::make_unique<logo::ResolveRedundantReshapePass>());
   }
   /* TRANSFORM DECLARATION END */
 
index 7a5da5f..22154cd 100644 (file)
@@ -54,7 +54,7 @@ void TFOptimizer::optimize(loco::Graph *g) const
   }
   if (moco::tf::get<moco::tf::Knob::RemoveDeadNode>())
   {
-    phase.emplace_back(stdex::make_unique<RemoveDeadNodeTransform>());
+    phase.emplace_back(stdex::make_unique<logo::RemoveDeadNodePass>());
   }
   // Fix shape and pad for added nodes doing above transformations
   // TODO need to merge or remove the ones in importer
index edcb3d2..4b5ece1 100644 (file)
 #define __MOCO_TF_TRANSFORMS_H__
 
 #include "Transforms/ClearAnnotTransform.h"
-#include "Transforms/ConstantFoldingTransform.h"
 #include "Transforms/FixShapeTransform.h"
 #include "Transforms/FuseBinaryIntoPreceding.h"
-#include "Transforms/RemoveDeadNodeTransform.h"
-#include "Transforms/RemoveForwardNodeTransform.h"
 #include "Transforms/RemoveTFIdentityNodeTransform.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"
 #include "Transforms/ShapeInferencePass.h"
 
+#include <logo/Passes.h>
+
 #endif // __MOCO_TF_TRANSFORMS_H__