# 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 for the torch framework,
+which inherits from nn.Container and allows to combine modules in an
+arbitrary graph without cycle.
## Example ##
A typical use would be:
-```Lua
+```lua
model = nn.DAG()
a = nn.Linear(100, 10)
output tensors and nested tables of tensors.
If a node has a single predecessor, the output of the latter is taken
-as-is as the input of the former. If it has multiple predecessors, all
+as-is as the input to the former. 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 edges where created in the DAG:connect() commands.
+input. The indexes of the outputs in that table reflect the
+chronological order in which the edges where created 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)
+modules given as argument 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
### 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 two nodes
-corresponding to a pair of successive modules in the arguments.
+have not been already added in a previous call. Add edges between
+every two nodes associated to two successive modules in the arguments.
-Calling it with n > 2 arguments is strictly equivalent to calling it
-n-1 times on the pairs of successive arguments.
+Calling this function with n > 2 arguments is strictly equivalent to
+calling it n-1 times on the pairs of successive arguments.
### nn.DAG:setInput(i) ###