chainer.computational_graph.build_computational_graph¶
-
chainer.computational_graph.
build_computational_graph
(outputs, remove_split=True, variable_style={'fillcolor': '#E0E0E0', 'shape': 'octagon', 'style': 'filled'}, function_style={'fillcolor': '#6495ED', 'shape': 'record', 'style': 'filled'}, rankdir='TB', remove_variable=False, show_name=True)[source]¶ Builds a graph of functions and variables backward-reachable from outputs.
- Parameters
outputs (
Variable
,VariableNode
,FunctionNode
, orlist
) – node(s) from which the graph is constructed. Each element of outputs must be eitherVariable
object,VariableNode
object, orFunctionNode
object.remove_split (bool) – It must be
True
. This argument is left for backward compatibility.variable_style (dict) – Dot node style for variable. Possible keys are ‘shape’, ‘color’, ‘fillcolor’, ‘style’, and etc.
function_style (dict) – Dot node style for function.
rankdir (str) – Direction of the graph that must be TB (top to bottom), BT (bottom to top), LR (left to right) or RL (right to left).
remove_variable (bool) – If
True
,VariableNode
s are removed from the resulting computational graph. OnlyFunctionNode
s are shown in the output.show_name (bool) – If
True
, thename
attribute of each node is added to the label of the node. Default isTrue
.
- Returns
A graph consisting of nodes and edges that are backward-reachable from at least one of
outputs
.If
unchain_backward
was called in some variable in the computational graph before this function, backward step is stopped at this variable.For example, suppose that computational graph is as follows:
|--> f ---> y x --+ |--> g ---> z
Let
outputs = [y, z]
. Then the full graph is emitted.Next, let
outputs = [y]
. Note thatz
andg
are not backward-reachable fromy
. The resulting graph would be following:x ---> f ---> y
See
TestGraphBuilder
for details.- Return type
Note
The default behavior of
ComputationalGraph
has been changed from v1.23.0, so that it ouputs the richest representation of a graph as default, namely, styles are set and names of functions and variables are shown. To reproduce the same result as previous versions (<= v1.22.0), please specify variable_style=None, function_style=None, and show_name=False explicitly.