Adding assertions in TransposeConv op. (#3887)
authorDevansh Bansal/SNAP /SRI-Bangalore/Engineer/삼성전자 <b.devansh@samsung.com>
Fri, 7 Dec 2018 00:51:47 +0000 (06:21 +0530)
committer오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 <hseok82.oh@samsung.com>
Fri, 7 Dec 2018 00:51:47 +0000 (09:51 +0900)
This patch adds necessary assertions in TransposeConv.

Signed-off-by: b.devansh <b.devansh@samsung.com>
runtimes/pure_arm_compute/src/compilation.cc

index b1092c4..f46ea12 100644 (file)
@@ -3937,6 +3937,14 @@ void Planner::visit(const ::internal::tflite::op::TransposeConv::Node &node)
   const PaddingCode padding_type =
       static_cast<PaddingCode>(_ctx.at(padding_index).asScalar<int32_t>());
 
+  assert(vstride > 0);
+  assert(hstride > 0);
+  assert((ANEURALNETWORKS_PADDING_SAME == padding_type) ||
+         (ANEURALNETWORKS_PADDING_VALID == padding_type));
+  assert(ifm_shape.N == ofm_shape.N);
+  assert(ifm_shape.C == ker_shape.C);
+  assert(ker_shape.N == ofm_shape.C);
+
   // Set Shape Constraints and TensorInfo
   _builder.addShapeConstr(
       ifm_index, asTensorInfo(asTensorShape(_ctx.at(ifm_index).shape()), _ctx.at(ifm_index).type(),