code: def data_dicts_to_graphs_tuple(
      data_dicts, name="data_dicts_to_graphs_tuple"
  ):
      """Creates a `graphs.GraphsTuple` containing tensors from data dicts.
  
       All dictionaries must have exactly the same set of keys with non-`None`
       values associated to them. Moreover, this set of this key must define a valid
       graph (i.e. if the `EDGES` are `None`, the `SENDERS` and `RECEIVERS` must be
       `None`, and `SENDERS` and `RECEIVERS` can only be `None` both at the same
       time). The values associated with a key must be convertible to `Tensor`s,
       for instance python lists, numpy arrays, or Tensorflow `Tensor`s.
  
       This method may perform a memory copy.
  
       The `RECEIVERS`, `SENDERS`, `N_NODE` and `N_EDGE` fields are cast to
       `np.int32` type.
  
      Args:
        data_dicts: An iterable of data dictionaries with keys in `ALL_FIELDS`.
        name: (string, optional) A name for the operation.
  
      Returns:
        A `graphs.GraphTuple` representing the graphs in `data_dicts`.
      """
      data_dicts = [dict(d) for d in data_dicts]
      for key in ALL_FIELDS:
          for data_dict in data_dicts:
              data_dict.setdefault(key, None)
      utils_np._check_valid_sets_of_keys(
          data_dicts
      )  # pylint: disable=protected-access
      with tf.name_scope(name):
          data_dicts = _to_compatible_data_dicts(data_dicts)
          return graphs.GraphsTuple(
              **_concatenate_data_dicts(data_dicts)
          )
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import collections
  import functools
  from absl import logging
  from graph_nets import graphs
  from graph_nets import utils_np
  import six
  from six.moves import range
  import tensorflow
  import tree
label_desc: Use image node_id 25 for calling a global function with example usage: data_dicts_to_graphs_tuple(data_dicts, name) and returns: graphs