#include #include #include #include #include namespace migraphx { inline namespace MIGRAPHX_INLINE_NS { namespace tf { struct parse_relu6 : op_parser { std::vector operators() const { return {{"Relu6"}}; } instruction_ref parse(const op_desc& /*opd*/, const tf_parser& /*parser*/, const tf_parser::node_info& info, std::vector args) const { auto input_lens = args[0]->get_shape().lens(); auto min_val = info.add_literal(0.0f); auto max_val = info.add_literal(6.0f); min_val = info.add_instruction(make_op("multibroadcast", {{"output_lens", input_lens}}), min_val); max_val = info.add_instruction(make_op("multibroadcast", {{"output_lens", input_lens}}), max_val); return info.add_instruction(make_op("clip"), args.front(), min_val, max_val); } }; } // namespace tf } // namespace MIGRAPHX_INLINE_NS } // namespace migraphx