Class FuncGraph

Inheritance Relationships

Base Type

Class Documentation

class FuncGraph : public mindspore::api::Value

FuncGraph defines interface for a function graph.

Public Functions

std::vector<AnfNodePtr> get_inputs() const

Get the input parameters.

Returns:

Input parameters of this graph.

std::vector<AnfNodePtr> parameters() const

Get all parameters.

Returns:

All parameters of this graph.

void add_parameter(const ParameterPtr &p)

Adds a parameter to this graph.

Parameters:

p[in] The parameter to be added.

ParameterPtr add_parameter()

Adds a new parameter to this graph.

Returns:

The new added parameter.

AnfNodePtr output() const

Get the output node.

Returns:

The output node, nullptr if output not set.

CNodePtr get_return() const

Get the return CNode.

Returns:

The return CNode, nullptr if no return node.

void set_output(const AnfNodePtr &value, bool force_new_ret = false)

Set the output node.

Parameters:
  • value[in] The output node to be set.

  • force_new_ret[in] If true, a new return node is always created.

void set_return(const CNodePtr &cnode)

Set the return node.

Parameters:

cnode[in] The return CNode to be set.

CNodePtr NewCNode(const std::vector<AnfNodePtr> &inputs = std::vector<AnfNodePtr>())

Creates a new CNode in this graph.

Parameters:

inputs[in] The input nodes of the new CNode.

Returns:

The created CNode.

CNodePtr NewCNode(const PrimitivePtr &primitive, const std::vector<AnfNodePtr> &prim_inputs)

Creates a new primitive CNode in this graph.

Parameters:
  • primitive[in] The primitive of the new CNode.

  • prim_inputs[in] The argument inputs of the primitive CNode.

Returns:

The created primitive CNode.

std::vector<AnfNodePtr> nodes() const

Get all nodes in this graph.

Returns:

All nodes in this graph.

bool has_attr(const std::string &key) const

Check whether an attribute is set for this graph.

Parameters:

key[in] The attribute key (name).

Returns:

True if the attribute with the given key is set, false otherwise.

ValuePtr get_attr(const std::string &key) const

Get an attribute value by its key.

Parameters:

key[in] The attribute key (name).

Returns:

The attribute value for the given key, nullptr if attribute not found.

void set_attr(const std::string &key, const ValuePtr &value)

Set an attribute value.

Parameters:
  • key[in] The attribute key (name).

  • value[in] The attribute value.

FuncGraphManagerPtr manager() const

Get the manager for this graph.

Returns:

The manager of this graph, nullptr if not set.

Public Static Functions

static FuncGraphPtr Create()

Creates an empty function graph.

Returns:

The created function graph.

static std::vector<AnfNodePtr> TopoSort(const AnfNodePtr &node)

Topological sort a graph from the given end node.

Parameters:

node[in] The end node of the graph to be sorted.

Returns:

The sorted nodes.