code: def _make_dynamic_batch_graph(
      add_globals,
      num_nodes=_DB_NUM_NODES,
      num_edges=_DB_NUM_EDGES,
  ):
      total_num_edges = sum(num_edges)
      total_num_nodes = sum(num_nodes)
      g_ = (
          _make_nest(np.random.normal(size=_DB_GLOBAL_SHAPE))
          if add_globals
          else {}
      )
      return graph.GraphsTuple(
          nodes=_make_nest(
              np.random.normal(size=(total_num_nodes,) + _DB_NODE_SHAPE)
          ),
          edges=_make_nest(
              np.random.normal(size=(total_num_edges,) + _DB_EDGE_SHAPE)
          ),
          n_edge=np.array(num_edges),
          n_node=np.array(num_nodes),
          senders=np.random.randint(
              0, total_num_nodes, size=total_num_edges, dtype=np.int32
          ),
          receivers=np.random.randint(
              0, total_num_nodes, size=total_num_edges, dtype=np.int32
          ),
          globals=g_,
      )
  
imports: import functools
  import os
  from absl.testing import absltest
  from absl.testing import parameterized
  import jax
  from jax.lib import xla_bridge
  import jax.numpy
  import jax.tree_util
  from jraph._src import graph
  from jraph._src import utils
  import numpy
label_desc: Use image node_id 5 for calling a global function with example usage: _make_dynamic_batch_graph(add_globals, num_nodes, num_edges) and returns: graph