forked from PaddlePaddle/Paddle
-
Notifications
You must be signed in to change notification settings - Fork 0
nnvm graph
乔龙飞 edited this page Jun 16, 2017
·
8 revisions
class Graph {
public:
// outputs of the computation graph.
std::vector<NodeEntry> outputs;
std::unordered_map<std::string, std::shared_ptr<any> > attrs;
private:
// internal structure of indexed graph
std::shared_ptr<const IndexedGraph> indexed_graph_;
};class IndexedGraph {
private:
// Node pointers in CSR structure.
std::vector<Node> nodes_;
// Index to all input nodes.
std::vector<uint32_t> input_nodes_;
// Index to all mutable input nodes.
std::unordered_set<uint32_t> mutable_input_nodes_;
// space to store the outputs entries
std::vector<NodeEntry> outputs_;
// mapping from node to index.
std::unordered_map<const nnvm::Node*, uint32_t> node2index_;
// CSR pointer of node entries
std::vector<size_t> entry_rptr_;
// space to store input entries of each
std::vector<NodeEntry> input_entries_;
// control flow dependencies
std::vector<uint32_t> control_deps_;
};