class chainer.computational_graph.ComputationalGraph(nodes, edges, 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]

Class that represents computational graph.


We assume that the computational graph is directed and acyclic.

  • nodes (list) – List of nodes. Each node is either VariableNode object or FunctionNode object.
  • edges (list) – List of edges. Each edge consists of pair of nodes.
  • variable_style (dict) – Dot node style for variable.
  • 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, VariableNodes are removed from the resulting computational graph. Only FunctionNodes are shown in the output.
  • show_name (bool) – If True, the name attribute of each node is added to the label of the node. Default is True.


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.



Dumps graph as a text.

  • format (str) – The graph language name of the output.
  • it must be 'dot'. (Currently,) –

The graph in specified format.

Return type: