Classes | Namespaces | Functions
graph.h File Reference

Configuation of nnvm as well as basic data structure. More...

#include <vector>
#include <string>
#include <utility>
#include <algorithm>
#include <memory>
#include <unordered_map>
#include <unordered_set>
#include "base.h"
#include "node.h"
#include "symbolic.h"
Include dependency graph for graph.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.


class  nnvm::Graph
 Symbolic computation graph. This is the intermediate representation for optimization pass. More...
class  nnvm::IndexedGraph
 Auxiliary data structure to index a graph. It maps Nodes in the graph to consecutive integers node_id. It also maps IndexedGraph::NodeEntry to consecutive integer entry_id. This allows storing properties of Node and NodeEntry into compact vector and quickly access them without resorting to hashmap. More...
struct  nnvm::IndexedGraph::NodeEntry
 represents a data in the graph More...
struct  nnvm::IndexedGraph::Node
 Node data structure in IndexedGraph. More...




template<typename FVisit >
void nnvm::DFSVisit (const std::vector< NodeEntry > &heads, FVisit fvisit)
 perform a Post Order DFS visit to each node in the graph. This order is deterministic and is also topoligical sorted. More...
template<typename GNode , typename HashType , typename FVisit , typename HashFunc , typename InDegree , typename GetInput >
void nnvm::PostOrderDFSVisit (const std::vector< GNode > &heads, FVisit fvisit, HashFunc hash, InDegree indegree, GetInput getinput)

Detailed Description

Configuation of nnvm as well as basic data structure.