From 3c69b13db0310729c934ebfa9c98a676e19d4eb8 Mon Sep 17 00:00:00 2001 From: Francois Fleuret Date: Fri, 13 Jan 2017 16:25:04 +0100 Subject: [PATCH] Cosmetics. --- README.md | 37 ++++++++++++++++++++++++++++--------- 1 file changed, 28 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index b122ee0..206a132 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,9 @@ #Introduction# -This package implements a new module nn.DAG which inherits from nn.Container and allows to combine modules in an arbitrary graph without cycle. +This package implements a new module nn.DAG which inherits from +nn.Container and allows to combine modules in an arbitrary graph +without cycle. ##Example## @@ -42,15 +44,26 @@ which would encode the following graph and run a forward pass with a random batch of 30 samples. -Note that DAG:connect allows to add a bunch of edges at once. This is particularly useful to add anonymous modules which have a single predecessor and successor. +Note that DAG:connect allows to add a bunch of edges at once. This is +particularly useful to add anonymous modules which have a single +predecessor and successor. ##Input and output## -If a node has a single predecessor, its output is taken as-is. If it has multiple predecessors, all the outputs are collected into a table, and the table is used as input. The indexes of the outputs in that table reflects the order in which the predecessors appeared in the DAG:connect() commands. +If a node has a single predecessor, its output is taken as-is. If it +has multiple predecessors, all the outputs are collected into a table, +and the table is used as input. The indexes of the outputs in that +table reflects the order in which the predecessors appeared in the +DAG:connect() commands. -The input to the DAG (respectively the produced output) is a nested table of inputs reflecting the structure of the nested table of modules provided to DAG:setInput (respectively DAG:setOutput) +The input to the DAG (respectively the produced output) is a nested +table of inputs reflecting the structure of the nested table of +modules provided to DAG:setInput (respectively DAG:setOutput) -So for instance, in the example above, the model expects a tensor as input, since it is the input to the module a, and its output will is a table composed of two tensors, corresponding to the outputs of d and e respectively. +So for instance, in the example above, the model expects a tensor as +input, since it is the input to the module a, and its output will is a +table composed of two tensors, corresponding to the outputs of d and e +respectively. #Usage# @@ -61,8 +74,8 @@ Create a new empty DAG, which inherits from nn.Container. ##nn.DAG:connect([module1 [, module2 [, ...]]])## Add new nodes corresponding to the modules passed as arguments if they -are not already existing. Add edges between every the nodes -corresponding to pairs of successive modules. +are not already existing. Add edges between every two nodes +corresponding to a pair of successive modules in the arguments. ##nn.DAG:setInput(i)## @@ -72,7 +85,7 @@ should be a (nested) table of inputs with the corresponding structure. ##nn.DAG:setOutput(o)## -Same as DAG:setInput. +Similar to DAG:setInput(). ##nn.DAG:print()## @@ -80,7 +93,13 @@ Prints the list of nodes. ##nn.DAG:saveDot(filename)## -Save a dot file to be used by the Graphviz set of tools for graph visualization. +Save a dot file to be used by the Graphviz set of tools for graph +visualization. This dot file can than be used for instance to produce +a pdf file with + +``` +dot graph.dot -T pdf -o graph.pdf +``` ##nn.DAG:updateOutput(input)## -- 2.39.5