particularly useful to add anonymous modules which have a single
predecessor and successor.
+#Usage#
+
##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.
+The DAG can deal with modules which take as input and produce as
+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
+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.
The input to the DAG (respectively the produced output) is a nested
table of inputs reflecting the structure of the nested table of
table composed of two tensors, corresponding to the outputs of d and e
respectively.
-##Usage##
+##Functions##
###nn.DAG()###
###nn.DAG:setInput(i)###
Defines the content and structure of the input. The argument should be
-either a module, or a (nested) table of module. The input to the DAG
-should be a (nested) table of inputs with the corresponding structure.
+either a module, or a (nested) table of modules. The input to the DAG
+should be a (nested) table of inputs, with the corresponding structure.
###nn.DAG:setOutput(o)###