From db752891abf9268c99e7171147d46e78b683ff0a Mon Sep 17 00:00:00 2001 From: =?utf8?q?=D0=A1=D0=B5=D1=80=D0=B3=D0=B5=D0=B9=20=D0=91=D0=B0=D1=80?= =?utf8?q?=D0=B0=D0=BD=D0=BD=D0=B8=D0=BA=D0=BE=D0=B2/AI=20Tools=20Lab=20/S?= =?utf8?q?RR/Engineer/=EC=82=BC=EC=84=B1=EC=A0=84=EC=9E=90?= Date: Fri, 7 Dec 2018 12:14:28 +0300 Subject: [PATCH] [nnc] Update description of ModelIR in documentation (#2548) Reflect recent changes in ModelIR in the documentation. Signed-off-by: Sergei Barannikov --- .../project/18_NN_Compiler_and_Optimizer_DLD.rst | 37 ++++++++-------------- 1 file changed, 14 insertions(+), 23 deletions(-) diff --git a/contrib/nnc/doc/project/18_NN_Compiler_and_Optimizer_DLD.rst b/contrib/nnc/doc/project/18_NN_Compiler_and_Optimizer_DLD.rst index 75dffec..5ab5180 100644 --- a/contrib/nnc/doc/project/18_NN_Compiler_and_Optimizer_DLD.rst +++ b/contrib/nnc/doc/project/18_NN_Compiler_and_Optimizer_DLD.rst @@ -265,39 +265,30 @@ To provide access to NN model representation in order to perform transformations Overview ```````` -Model IR consists of 4 main parts: +Model IR consists of 3 main parts: * Graph - represents the computation graph -* Node - container for single computational operation in computation graph -* Operation description - represents a single operation +* Operation - represents single operation * Visitor - declares an interface used for graph traversal Graph ````` Graph contains information about graph input/output nodes and list of all nodes in graph. -Responsible for allocating nodes and keeps all allocated node references. +Responsible for allocating operations and keeps all allocated operation references. `Graph` class takes care of graph traversal considering all node input/output dependencies. -Node -```` -Each node contains: - -- Node id ( used to uniquely address node in computation graph ) -- Node name( set by importer, used to distinguish inputs/outputs ) -- Operation description - reference to OpDescription subclass -- List of inputs( each represented by node reference and output index from that node ) -- List of outputs( List of nodes which take any resulting data from this node ) - -Operation Description -````````````````````` -All operations in computation graph are represented by subclasses of `OpDescription` class. - -Every Operation's description contains: - -- Number of inputs/outputs operation takes -- Shapes of input/output tensors ( initialised in Importer/ShapeInference ) -- Any information specific to operation( i.e. convolution kernel ) +Operation +````````` +Each operation contains: + +- Operation id (used to uniquely identify operation in computation graph for debugging purposes) +- Operation name (set by importer, used to distinguish inputs/outputs and for debugging purposes) +- Number of inputs and outputs +- List of inputs (each represented by operation reference and output index from that node) +- List of outputs (list of operations which take any resulting data from this operation) +- Shapes of output tensors +- Any information specific to operation (i.e. convolution kernel) Visitor ``````` -- 2.7.4