[moco-tf] Give chance for negative squeeze dim shape inference (#6206)
author박천교/On-Device Lab(SR)/Engineer/삼성전자 <ch.bahk@samsung.com>
Mon, 5 Aug 2019 08:30:40 +0000 (17:30 +0900)
committer박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 <jh1302.park@samsung.com>
Mon, 5 Aug 2019 08:30:40 +0000 (17:30 +0900)
Previously shape inference for TFSqueeze aborts when it encounters
negative squeeze dimension. From this commit, shape inference,
'fix_shape()', for TFSqueeze just return false, not abort program
to give a chance for later time, possibly after negative dimension
resolved.

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

index d1d39e0..149ef06 100644 (file)
@@ -1209,22 +1209,18 @@ bool fix_shape(moco::tf::TFSqueeze *node)
   {
     uint32_t input_rank = input_tensor_shape.rank();
 
-    auto is_valid_squeeze_dims = [&squeeze_dims, &input_rank]() {
-      if (squeeze_dims.size() >= input_rank)
-        return false;
+    // Sanity check for 'squeeze_dims'
+    {
+      assert(squeeze_dims.size() < input_rank);
       for (auto squeeze_dim : squeeze_dims)
       {
         // Negative squeeze dimensions should be resolve before
         if (squeeze_dim < 0)
           return false;
-        if (squeeze_dim >= (int64_t)input_rank)
-          return false;
+        assert(squeeze_dim < (int64_t)input_rank);
       }
-      return true;
     };
 
-    assert(is_valid_squeeze_dims());
-
     // Remove squeeze dimensions only
     for (uint32_t axis = 0; axis < input_rank; ++axis)
     {