def _build(self,
             graph,
             edge_model_kwargs=None,
             node_model_kwargs=None):
    """Connects the InterationNetwork.

    Args:
      graph: A `graphs.GraphsTuple` containing `Tensor`s. `graph.globals` can be
        `None`. The features of each node and edge of `graph` must be
        concatenable on the last axis (i.e., the shapes of `graph.nodes` and
        `graph.edges` must match but for their first and last axis).
      edge_model_kwargs: Optional keyword arguments to pass to
        the edge block model.
      node_model_kwargs: Optional keyword arguments to pass to
        the node block model.

    Returns:
      An output `graphs.GraphsTuple` with updated edges and nodes.

    Raises:
      ValueError: If any of `graph.nodes`, `graph.edges`, `graph.receivers` or
        `graph.senders` is `None`.
    """
    return self._node_block(
        self._edge_block(graph, edge_model_kwargs), node_model_kwargs)
Connects the InterationNetwork.

    Args:
      graph: A `graphs.GraphsTuple` containing `Tensor`s. `graph.globals` can be
        `None`. The features of each node and edge of `graph` must be
        concatenable on the last axis (i.e., the shapes of `graph.nodes` and
        `graph.edges` must match but for their first and last axis).
      edge_model_kwargs: Optional keyword arguments to pass to
        the edge block model.
      node_model_kwargs: Optional keyword arguments to pass to
        the node block model.

    Returns:
      An output `graphs.GraphsTuple` with updated edges and nodes.

    Raises:
      ValueError: If any of `graph.nodes`, `graph.edges`, `graph.receivers` or
        `graph.senders` is `None`.
    
graph_nets/modules.py