[loco] Inference service for EltwiseSqrt (#6526)
author박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 <saehie.park@samsung.com>
Tue, 13 Aug 2019 03:51:51 +0000 (12:51 +0900)
committerGitHub Enterprise <noreply-CODE@samsung.com>
Tue, 13 Aug 2019 03:51:51 +0000 (12:51 +0900)
This will add Shape and Type inference for EltwiseSqrt

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
compiler/loco/src/Service/CanonicalShapeInferenceRule.cpp
compiler/loco/src/Service/TypeInference.cpp

index febddb6..448c237 100644 (file)
@@ -257,6 +257,12 @@ public:
     return eltwise_binary_node_shape(node);
   }
 
+  // CASE: EltwiseSqrt
+  loco::NodeShape visit(const loco::EltwiseSqrt *node) final
+  {
+    return loco::shape_get(node->input());
+  }
+
   // CASE: EltwiseSub
   loco::NodeShape visit(const loco::EltwiseSub *node) final
   {
index 40d77b2..b238b4a 100644 (file)
@@ -106,6 +106,7 @@ struct CanonicalTypeForwardAlgorithm final : public loco::CanonicalNodeVisitor<l
   loco::DataType visit(const loco::EltwiseAdd *node) { return loco::dtype_get(node->lhs()); }
   loco::DataType visit(const loco::EltwiseDiv *node) { return loco::dtype_get(node->lhs()); }
   loco::DataType visit(const loco::EltwiseMul *node) { return loco::dtype_get(node->lhs()); }
+  loco::DataType visit(const loco::EltwiseSqrt *node) { return loco::dtype_get(node->input()); }
   loco::DataType visit(const loco::EltwiseSub *node) { return loco::dtype_get(node->lhs()); }
   // TODO Support Forward
   loco::DataType visit(const loco::FeatureBiasAdd *node) { return loco::dtype_get(node->value()); }