7 #include "ngraph/node.hpp"
8 #include "ngraph/op/op.hpp"
9 #include "ngraph/op/util/fused_op.hpp"
10 #include "ngraph/op/util/unary_elementwise_arithmetic.hpp"
16 NGRAPH_SUPPRESS_DEPRECATED_START
21 class NGRAPH_API
Gelu :
public ngraph::op::util::FusedOp
25 const NodeTypeInfo& get_type_info()
const override {
return type_info; }
33 virtual OutputVector decompose_op()
const override;
35 void pre_validate_and_infer_types()
override;
37 virtual std::shared_ptr<Node>
38 clone_with_new_inputs(
const OutputVector& new_args)
const override;
42 NGRAPH_SUPPRESS_DEPRECATED_END
61 NGRAPH_RTTI_DECLARATION;
76 const HostTensorVector& inputs)
const override;
80 clone_with_new_inputs(
const OutputVector& new_args)
const override;
99 static constexpr
DiscreteTypeInfo type_info{
"AttributeAdapter<op::GeluApproximationMode>",
101 const DiscreteTypeInfo& get_type_info()
const override {
return type_info; }
An AttributeAdapter "captures" an attribute as an AT& and makes it available as a ValueAccessor<VAT>.
Definition: attribute_adapter.hpp:161
Visits the attributes of a node, primarily for serialization-like tasks.
Definition: attribute_visitor.hpp:59
Access an enum via a string.
Definition: attribute_adapter.hpp:168
A handle for one of a node's outputs.
Definition: node_output.hpp:33
Abstract base class for elementwise unary arithmetic operations, i.e., operations where the same scal...
Definition: unary_elementwise_arithmetic.hpp:37
Gaussian Error Linear Unit f(x) = 0.5 * x * (1 + erf( x / sqrt(2) )
Definition: gelu.hpp:22
Gelu(const Output< Node > &data)
Constructs a Gelu operation.
Gaussian Error Linear Unit f(x) = 0.5 * x * (1 + erf( x / sqrt(2) ) for "approximation" = "erf" f(x) ...
Definition: gelu.hpp:59
bool has_evaluate() const override
Allows to get information about availability of evaluate method for the current operation.
void validate_and_infer_types() override
Verifies that attributes and inputs are consistent and computes output shapes and element types....
Gelu(const Output< Node > &data, GeluApproximationMode mode=GeluApproximationMode::ERF)
Constructs a Gelu operation.
bool evaluate(const HostTensorVector &outputs, const HostTensorVector &inputs) const override
Evaluates the op on input_values putting results in output_values.
GeluApproximationMode
Specifies the approximation to calculate Gelu.
Definition: gelu.hpp:46
The Intel nGraph C++ API.
Definition: attribute_adapter.hpp:16