[moco-tf] Fix FuseBinaryIntoProceeding logic (#6511)
author박천교/On-Device Lab(SR)/Engineer/삼성전자 <ch.bahk@samsung.com>
Mon, 12 Aug 2019 22:10:09 +0000 (07:10 +0900)
committer박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 <saehie.park@samsung.com>
Mon, 12 Aug 2019 22:10:09 +0000 (07:10 +0900)
This commit fixes FuseBinaryIntoProceeding logic. Assertion was
misplace, so that normal addition blocked to this assertion.

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

index 67dab41..f730301 100644 (file)
@@ -445,16 +445,17 @@ bool fuse_to_preceding(loco::Graph *graph, moco::tf::TFAdd *node)
     INFO(l) << "Add fuse_to_preceding: addparam has no shape";
     return false;
   }
-  // if AddParam rank is not 1 we cannot fuse, just skip
+  // if AddParam rank is not 0 or 1 we cannot fuse, just skip
   auto addparam_shape = addparam_shape_inf->tensor_shape();
-  if (addparam_shape.rank() != 1)
+  if (addparam_shape.rank() > 1)
   {
-    // TODO do something when rank() is 0
-    assert(addparam_shape.rank() == 0);
-    INFO(l) << "Add fuse_to_preceding: Add rank is not 1";
+    INFO(l) << "Add fuse_to_preceding: Add rank is not 0 or 1";
     return false;
   }
 
+  // TODO do something when rank() is 0
+  assert(addparam_shape.rank() != 0);
+
   // TODO support FullyConnected
   moco::tf::TFBiasAdd *biasadd = nullptr;
   if (auto conv2d = dynamic_cast<moco::tf::TFConv2D *>(precedingOp))