Overview

Node builder class. This class builds graph nodes that conform to IR specifications. It provides chain APIs to define a node's inputs, outputs, and attributes, ensuring compliance with IR requirements. The class is called internally by ES-generated APIs. If you build graphs directly using ES-generated APIs, you do not need to interact with this class. However, when customizing ES APIs, you can use the capabilities of this class to create nodes.

Header File to Be Included

1
#include "compliant_node_builder.h"

Public Member Functions

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
explicit CompliantNodeBuilder(ge::Graph *graph)
~CompliantNodeBuilder()
CompliantNodeBuilder(CompliantNodeBuilder &&) noexcept
CompliantNodeBuilder(const CompliantNodeBuilder &)
CompliantNodeBuilder &OpType(const char_t *type)
CompliantNodeBuilder &IrDefInputs(std::vector<IrInputDef> input_ir_def)
CompliantNodeBuilder &IrDefOutputs(std::vector<IrOutputDef> output_ir_def)
CompliantNodeBuilder &IrDefAttrs(std::vector<IrAttrDef> attr_ir_def)
CompliantNodeBuilder &Name(const char_t *name)
CompliantNodeBuilder &InstanceDynamicInputNum(const char_t *ir_name, int32_t num)
CompliantNodeBuilder &InstanceDynamicOutputNum(const char_t *ir_name, int32_t num)
CompliantNodeBuilder &InstanceOutputDataType(const char_t *name, ge::DataType data_type)
CompliantNodeBuilder &InstanceOutputShape(const char_t *name, const std::vector<int64_t> &shape)
CompliantNodeBuilder &InstanceOutputOriginShape(const char_t *name, const std::vector<int64_t> &shape)
CompliantNodeBuilder &InstanceOutputStorageShape(const char_t *name, const std::vector<int64_t> &shape)
CompliantNodeBuilder &InstanceOutputFormat(const char_t *name, ge::Format format)
CompliantNodeBuilder &InstanceOutputOriginFormat(const char_t *name, ge::Format format)
CompliantNodeBuilder &InstanceOutputStorageFormat(const char_t *name, ge::Format format)
ge::GNode Build() const

External Functions

1
2
3
4
5
AttrValue CreateFrom(T &&t) 
bool ValuesEqual(const T &a, const T &b)
bool ValuesEqual(const std::vector<T> &a, const std::vector<T> &b)
AttrValue CreateFromIfNotEqual(T &&value, typename std::decay<T>::type default_value)
graphStatus AddEdgeAndUpdatePeerDesc(Graph &graph, GNode &src_node, int32_t src_port_index, GNode &dst_node, int32_t dst_port_index) 

Enums

1
2
3
enum IrAttrType  
enum IrInputType 
enum IrOutputType

Structs

1
2
3
struct IrAttrDef 
struct IrInputDef 
struct IrOutputDef

Internal Class

1
class AnyTypeOperator