Program Listing for File func_graph.h
↰ Return to documentation for file (include/core/api/ir/func_graph.h
)
#ifndef MINDSPORE_CORE_API_IR_FUNC_GRAPH_H_
#define MINDSPORE_CORE_API_IR_FUNC_GRAPH_H_
#include <vector>
#include <memory>
#include <string>
#include "utils/visible.h"
#include "api/ir/func_graph_manager.h"
namespace mindspore::deprecated::api {
class MS_CORE_API FuncGraph {
public:
FuncGraph() = default;
virtual ~FuncGraph() = default;
virtual const std::vector<AnfNodePtr> get_inputs() const = 0;
virtual const std::vector<AnfNodePtr> ¶meters() const = 0;
virtual void add_parameter(const ParameterPtr &p) = 0;
virtual ParameterPtr add_parameter() = 0;
virtual AnfNodePtr output() const = 0;
virtual CNodePtr get_return() const = 0;
virtual void set_output(const AnfNodePtr &value, bool force_new_ret = false) = 0;
virtual void set_return(const CNodePtr &cnode) = 0;
virtual CNodePtr NewCNode(const std::vector<AnfNodePtr> &inputs = std::vector<AnfNodePtr>()) = 0;
virtual CNodePtr NewCNode(const PrimitivePtr &primitive, const std::vector<AnfNodePtr> &prim_inputs) = 0;
virtual const AnfNodeSet &nodes() const = 0;
virtual bool has_attr(const std::string &key) const = 0;
virtual ValuePtr get_attr(const std::string &key) const = 0;
virtual void set_attr(const std::string &key, const ValuePtr &value) = 0;
virtual FuncGraphManagerPtr get_manager() const = 0;
static std::vector<AnfNodePtr> TopoSort(const AnfNodePtr &node);
static FuncGraphPtr Create();
//
static AnfNodePtr MakeValueNode(const FuncGraphPtr &func_graph);
//
static FuncGraphPtr GetFuncGraphFromAnfNode(const AnfNodePtr &input);
};
#ifndef USE_DEPRECATED_API
#define USE_DEPRECATED_API
namespace mindspore {
namespace api = deprecated::api;
}
#endif
} // namespace mindspore::deprecated::api
#endif // MINDSPORE_CORE_API_IR_FUNC_GRAPH_H_