class_docstr: A data generator for use with graph classification algorithms.
  
  The supplied graphs should be :class:`.StellarGraph` objects with node features.
  Use the :meth:`flow` method supplying the graph indexes and (optionally) targets
  to get an object that can be used as a Keras data generator.
  
  This generator supplies the features arrays and the adjacency matrices to a mini-batch Keras
  graph classification model. Differences in the number of nodes are resolved by padding each
  batch of features and adjacency matrices, and supplying a boolean mask indicating which are
  valid and which are padding.
  
  .. seealso::
  
     Models using this generator: :class:`.GCNSupervisedGraphClassification`, :class:`.DeepGraphCNN`.
  
     Examples using this generator:
  
     - `graph classification with GCN <https://stellargraph.readthedocs.io/en/stable/demos/graph-classification/gcn-supervised-graph-classification.html>`__
     - `graph classification with Deep Graph CNN <https://stellargraph.readthedocs.io/en/stable/demos/graph-classification/dgcnn-graph-classification.html>`__
     - `unsupervised graph representation learning <https://stellargraph.readthedocs.io/en/stable/demos/embeddings/gcn-unsupervised-graph-embeddings.html>`__
  
  Args:
      graphs (list): a collection of StellarGraph objects
      name (str): an optional name of the generator
class_docstr_tok: ["A","data","generator","for","use","with","graph","classification","algorithms",".","The","supplied","graphs","should","be",":","class",":","`",".StellarGraph","`","objects","with","node","features",".","Use","the",":","meth",":","`","flow","`","method","supplying","the","graph","indexes","and","(","optionally",")","targets","to","get","an","object","that","can","be","used","as","a","Keras","data","generator",".","This","generator","supplies","the","features","arrays","and","the","adjacency","matrices","to","a","mini-batch","Keras","graph","classification","model",".","Differences","in","the","number","of","nodes","are","resolved","by","padding","each","batch","of","features","and","adjacency","matrices",",","and","supplying","a","boolean","mask","indicating","which","are","valid","and","which","are","padding",".","..","seealso",":",":","Models","using","this","generator",":",":","class",":","`",".GCNSupervisedGraphClassification","`",",",":","class",":","`",".DeepGraphCNN","`",".","Examples","using","this","generator",":","-","`","graph","classification","with","GCN","<","https",":","\/\/stellargraph.readthedocs.io\/en\/stable\/demos\/graph-classification\/gcn-supervised-graph-classification.html",">","`","__","-","`","graph","classification","with","Deep","Graph","CNN","<","https",":","\/\/stellargraph.readthedocs.io\/en\/stable\/demos\/graph-classification\/dgcnn-graph-classification.html",">","`","__","-","`","unsupervised","graph","representation","learning","<","https",":","\/\/stellargraph.readthedocs.io\/en\/stable\/demos\/embeddings\/gcn-unsupervised-graph-embeddings.html",">","`","__","Args",":","graphs","(","list",")",":","a","collection","of","StellarGraph","objects","name","(","str",")",":","an","optional","name","of","the","generator"]
code: def _check_graphs(self, graphs):
      for graph in graphs:
          if not isinstance(graph, StellarGraph):
              raise TypeError(
                  f"graphs: expected every element to be a StellarGraph object, found {type(graph).__name__}."
              )
  
          if graph.number_of_nodes() == 0:
              # an empty graph has no information at all and breaks things like mean pooling, so
              # let's disallow them
              raise ValueError(
                  "graphs: expected every graph to be non-empty, found graph with no nodes"
              )
  
          # Check that there is only a single node type for GAT or GCN
          node_type = graph.unique_node_type(
              "graphs: expected only graphs with a single node type, found a graph with node types: %(found)s"
          )
  
          graph.check_graph_for_ml()
  
          # we require that all graphs have node features of the same dimensionality
          f_dim = graph.node_feature_sizes()[node_type]
          if self.node_features_size is None:
              self.node_features_size = f_dim
          elif self.node_features_size != f_dim:
              raise ValueError(
                  "graphs: expected node features for all graph to have same dimensions,"
                  f"found {self.node_features_size} vs {f_dim}"
              )
  
imports: from ..core.graph import StellarGraph
  from ..core.utils import is_real_iterable, normalize_adj
  from ..random import random_state
  import numpy
  from tensorflow.keras.utils import Sequence
  from .base import Generator
label_desc: Use image node_id 2 for calling the PaddedGraphGenerator obj's underlying member method code with example usage: obj._check_graphs(graphs) without return types