This commit introduce ReLU6 node to loco.
Signed-off-by: seongwoo <sw4670.chae@samsung.com>
// WARN Pull may be excluded from canoncial dialect in the future
CANONICAL_NODE(Pull, Pull)
CANONICAL_NODE(ReLU, ReLU)
+CANONICAL_NODE(ReLU6, ReLU6)
CANONICAL_NODE(TensorConcat, TensorConcat)
CANONICAL_NODE(TensorBiasAdd, BiasAdd<Domain::Tensor>)
};
/**
+ * @brief Create a new value that rectifies its input capping the units at 6.
+ */
+class ReLU6 final : public FixedArityNode<1, CanonicalNodeImpl<CanonicalOpcode::ReLU6>>
+{
+public:
+ ReLU6() = default;
+
+public:
+ Node *input(void) const { return at(0)->node(); }
+ void input(Node *node) { at(0)->node(node); }
+};
+
+/**
* @brief Create a value from constant byte array
*
* @note ConstGen assumes "lexical memory layout".
ASSERT_EQ(relu_node.input(), nullptr);
}
+TEST(ReLU6Test, constructor)
+{
+ loco::ReLU6 relu6_node;
+
+ ASSERT_EQ(relu6_node.dialect(), loco::CanonicalDialect::get());
+ ASSERT_EQ(relu6_node.opcode(), loco::CanonicalOpcode::ReLU6);
+
+ ASSERT_EQ(relu6_node.input(), nullptr);
+}
+
TEST(ConstGenTest, constructor)
{
loco::ConstGen constgen_node;