DistRegBuilder.build_model()#

DistRegBuilder.build_model(copy=False)#

Builds a model from the graph.

Constructs a model containing all nodes and variables that were added to the graph builder and their recursive inputs. The outputs of the nodes are not added to the model automatically, so the root nodes always need to be added explicitly.

The standard workflow is to create the nodes and variables, add them to a graph builder, and construct a model from the graph builder. After the model has been constructed, some methods of the graph builder are not available anymore.

Notes

If this method is called with the argument copy=False, all nodes and variables are removed from the graph builder, because most methods of the graph builder do not work with nodes that are part of a model.

Example

>>> a = lsl.Var(1.0, name="a")
>>> b = lsl.Var(2.0, name="b")
>>> c = lsl.Var(lsl.Calc(lambda x, y: x + y, a, b), name="c")
>>> gb = lsl.GraphBuilder()
>>> gb.add(c)
GraphBuilder(0 nodes, 1 vars)
>>> model = gb.build_model()
>>> model
Model(9 nodes, 3 vars)
>>> c.value
3.0
>>> gb.vars
[]
Parameters:

copy (bool) – Whether the nodes and variables should be copied when building the model. (default: False)

Return type:

Model