class_docstr: A Loader for [mixed mode](https://graphneural.network/data-modes/#mixed-mode).
  
  This loader returns batches where the node and edge attributes are stacked
  along an extra dimension, but the adjacency matrix is shared by all graphs.
  
  The loader expects all node and edge features to have the same number of
  nodes and edges.
  The dataset is pre-packed like in a PackedBatchLoader.
  
  **Arguments**
  
  - `dataset`: a graph Dataset;
  - `batch_size`: int, size of the mini-batches;
  - `epochs`: int, number of epochs to iterate over the dataset. By default (`None`)
  iterates indefinitely;
  - `shuffle`: bool, whether to shuffle the data at the start of each epoch.
  
  **Output**
  
  For each batch, returns a tuple `(inputs, labels)`.
  
  `inputs` is a tuple containing:
  
  - `x`: node attributes of shape `[batch, n_nodes, n_node_features]`;
  - `a`: adjacency matrix of shape `[n_nodes, n_nodes]`;
  - `e`: edge attributes of shape `[batch, n_edges, n_edge_features]`.
  
  `labels` have shape `[batch, ..., n_labels]`.
docstr: Adjacency matrix has shape [n_nodes, n_nodes]
  Node features have shape [batch, n_nodes, n_node_features]
  Edge features have shape [batch, n_edges, n_edge_features]
  Targets have shape [batch, ..., n_labels]
code: def tf_signature(self):
      """
      Adjacency matrix has shape [n_nodes, n_nodes]
      Node features have shape [batch, n_nodes, n_node_features]
      Edge features have shape [batch, n_edges, n_edge_features]
      Targets have shape [batch, ..., n_labels]
      """
      signature = self.dataset.signature
      for k in ["x", "e", "y"]:
          if k in signature:
              signature[k]["shape"] = prepend_none(
                  signature[k]["shape"]
              )
  
      signature["a"] = dict()
      signature["a"]["spec"] = get_spec(self.dataset.a)
      signature["a"]["shape"] = (None, None)
      signature["a"]["dtype"] = tf.as_dtype(self.dataset.a.dtype)
  
      return to_tf_signature(signature)
  
imports: import numpy
  import tensorflow
  from spektral.data.utils import batch_generator, collate_labels_batch, collate_labels_disjoint, get_spec, prepend_none, sp_matrices_to_sp_tensors, to_batch, to_disjoint, to_mixed, to_tf_signature
label_desc: Use image node_id 3 for calling the MixedLoader obj's underlying member method code with example usage: obj.tf_signature() and returns: to_tf_signature