Intel® oneAPI Deep Neural Network Developer Guide and Reference
A newer version of this document is available. Customers should click here to go to the newest version.
class dnnl::graph::op
Overview
An op object. More…
#include <dnnl_graph.hpp>
class op: public op_handle
{
public:
    // enums
    enum attr;
    enum kind;
    // construction
    op(size_t id, kind akind, const std::string& verbose_name = "");
    op(
        size_t id,
        kind akind,
        const std::vector<logical_tensor>& inputs,
        const std::vector<logical_tensor>& outputs,
        const std::string& verbose_name = ""
        );
    // methods
    void add_input(const logical_tensor& t);
    void add_inputs(const std::vector<logical_tensor>& ts);
    void add_output(const logical_tensor& t);
    void add_outputs(const std::vector<logical_tensor>& ts);
    template <typename Type, req<std::is_same<Type, int64_t>::value> = true>
    op& set_attr(
        attr name,
        const Type& value
        );
}; 
  Detailed Documentation
An op object.
Construction
op(size_t id, kind akind, const std::string& verbose_name = "")
Constructs an op object with an unique ID, an operation kind, and a name string.
Parameters:
id  |  
        The unique ID of the op.  |  
       
akind  |  
        The op kind specifies which computation is represented by the op, such as Convolution or ReLU.  |  
       
verbose_name  |  
        The string added as the op name.  |  
       
op(
    size_t id,
    kind akind,
    const std::vector<logical_tensor>& inputs,
    const std::vector<logical_tensor>& outputs,
    const std::string& verbose_name = ""
    ) 
   Constructs an op object with an unique ID, an operation kind, and input/output logical tensors.
Parameters:
id  |  
        The unique ID of this op.  |  
       
akind  |  
        The op kind specifies which computation is represented by this op, such as Convolution or ReLU.  |  
       
inputs  |  
        Input logical tensor to be bound to this op.  |  
       
outputs  |  
        Output logical tensor to be bound to this op.  |  
       
verbose_name  |  
        The string added as the op name.  |  
       
Methods
void add_input(const logical_tensor& t)
Adds an input logical tensor to the op.
Parameters:
t  |  
        Input logical tensor.  |  
       
void add_inputs(const std::vector<logical_tensor>& ts)
Adds a vector of input logical tensors to the op.
Parameters:
ts  |  
        The list of input logical tensors.  |  
       
void add_output(const logical_tensor& t)
Adds an output logical tensor to the op.
Parameters:
t  |  
        Output logical tensor.  |  
       
void add_outputs(const std::vector<logical_tensor>& ts)
Adds a vector of output logical tensors to the op.
Parameters:
ts  |  
        The list of output logical tensors.  |  
       
template <typename Type, req<std::is_same<Type, int64_t>::value> = true>
op& set_attr(
    attr name,
    const Type& value
    ) 
   Sets the attribute according to the name and type (int64_t).
Parameters:
Type  |  
        Attribute’s type.  |  
       
name  |  
        Attribute’s name.  |  
       
value  |  
        The attribute’s value.  |  
       
Returns:
The Op self.