17 #include "ngraph/axis_set.hpp"
18 #include "ngraph/axis_vector.hpp"
19 #include "ngraph/op/op.hpp"
20 #include "ngraph/op/util/attr_types.hpp"
64 const HostTensorVector& inputs)
const override;
69 bool evaluate_broadcast(
const HostTensorPtr& arg0,
70 const HostTensorPtr& out,
71 const std::pair<bool, AxisSet> pair_broadcast_axes,
72 const Shape output_shape)
const;
74 bool evaluate(
const HostTensorPtr& arg0,
75 const HostTensorPtr& out,
76 const AxisSet& broadcast_axes)
const;
77 bool evaluate_lower(
const HostTensorVector& outputs)
const override;
78 bool evaluate_upper(
const HostTensorVector& outputs)
const override;
85 void validate_target_shape_numpy(
const PartialShape& arg_shape,
88 static std::pair<bool, AxisSet>
89 get_broadcast_axes_numpy_pdpd(
const Shape& arg_shape,
90 const Shape& result_shape,
93 static std::pair<bool, AxisSet>
94 get_broadcast_axes_none(
const AxisVector axes_mapping_val,
95 const size_t target_shape);
97 void validate_target_shape_none(
const PartialShape& arg_shape,
101 Shape get_target_shape(
const HostTensorPtr& input1)
const;
A set of axes.
Definition: axis_set.hpp:31
A vector of axes.
Definition: axis_vector.hpp:30
A handle for one of a node's outputs.
Definition: node_output.hpp:42
Class representing a shape that may be partially or totally dynamic.
Definition: partial_shape.hpp:46
Shape for a tensor.
Definition: shape.hpp:31
Root of all actual ops.
Definition: op.hpp:29
Definition: broadcast_base.hpp:31
virtual std::pair< bool, AxisSet > get_broadcast_axes() const
BroadcastBase(const Output< Node > &arg, const Output< Node > &target_shape, const Output< Node > &axes_mapping, const BroadcastModeSpec &broadcast_mode=BroadcastType::EXPLICIT)
Constructs a broadcast operation.
void validate_and_infer_types() override
Verifies that attributes and inputs are consistent and computes output shapes and element types....
BroadcastBase(const Output< Node > &arg, const Output< Node > &target_shape, const BroadcastModeSpec &broadcast_mode=BroadcastType::NUMPY)
Constructs a broadcast operation.
bool evaluate(const HostTensorVector &outputs, const HostTensorVector &inputs) const override
Evaluates the op on input_values putting results in output_values.
The Intel nGraph C++ API.
Definition: attribute_adapter.hpp:28
Implicit broadcast specification.
Definition: attr_types.hpp:379