class_docstr: The ``GraphClassificationData`` class is a :class:`~flash.core.data.data_module.DataModule` with a set of
  classmethods for loading data for graph classification.
docstr: The number of features per node in the graphs contained in this ``GraphClassificationData``.
docstr_tok: ["The","number","of","features","per","node","in","the","graphs","contained","in","this","``","GraphClassificationData","``","."]
code: def num_features(self):
      """The number of features per node in the graphs contained in this ``GraphClassificationData``."""
      n_cls_train = getattr(self.train_dataset, "num_features", None)
      n_cls_val = getattr(self.val_dataset, "num_features", None)
      n_cls_test = getattr(self.test_dataset, "num_features", None)
      return n_cls_train or n_cls_val or n_cls_test
  
file_path: lightning-flash/src/flash/graph/classification/data.py
imports: from typing import Dict, Optional, Type
  from torch.utils.data import Dataset
  from flash.core.data.data_module import DataModule
  from flash.core.data.io.input import Input
  from flash.core.data.utilities.classification import TargetFormatter
  from flash.core.utilities.imports import _TOPIC_GRAPH_AVAILABLE
  from flash.core.utilities.stages import RunningStage
  from flash.core.utilities.types import INPUT_TRANSFORM_TYPE
  from flash.graph.classification.input import GraphClassificationDatasetInput
  from flash.graph.classification.input_transform import GraphClassificationInputTransform
label_desc: Use image node_id 2 for calling the GraphClassificationData obj's underlying member method code with example usage: obj.num_features() and returns: unknown