class_docstr: The random partition graph dataset from the `"How to Find Your
  Friendly Neighborhood: Graph Attention Design with Self-Supervision"
  <https://openreview.net/forum?id=Wi5KUNlqWty>`_ paper.
  This is a synthetic graph of communities controlled by the node homophily
  and the average degree, and each community is considered as a class.
  The node features are sampled from normal distributions where the centers
  of clusters are vertices of a hypercube, as computed by the
  :meth:`sklearn.datasets.make_classification` method.
  
  Args:
      root (str): Root directory where the dataset should be saved.
      num_classes (int): The number of classes.
      num_nodes_per_class (int): The number of nodes per class.
      node_homophily_ratio (float): The degree of node homophily.
      average_degree (float): The average degree of the graph.
      num_graphs (int, optional): The number of graphs. (default: :obj:`1`)
      num_channels (int, optional): The number of node features. If given
          as :obj:`None`, node features are not generated.
          (default: :obj:`None`)
      is_undirected (bool, optional): Whether the graph to generate is
          undirected. (default: :obj:`True`)
      transform (callable, optional): A function/transform that takes in
          an :obj:`torch_geometric.data.Data` object and returns a
          transformed version. The data object will be transformed before
          every access. (default: :obj:`None`)
      pre_transform (callable, optional): A function/transform that takes
          in an :obj:`torch_geometric.data.Data` object and returns a
          transformed version. The data object will be transformed before
          being saved to disk. (default: :obj:`None`)
      **kwargs (optional): The keyword arguments that are passed down
          to :meth:`sklearn.datasets.make_classification` method in
          drawing node features.
class_docstr_tok: ["The","random","partition","graph","dataset","from","the","`","``","How","to","Find","Your","Friendly","Neighborhood",":","Graph","Attention","Design","with","Self-Supervision","''","<","https",":","\/\/openreview.net\/forum","?","id=Wi5KUNlqWty",">","`","_","paper",".","This","is","a","synthetic","graph","of","communities","controlled","by","the","node","homophily","and","the","average","degree",",","and","each","community","is","considered","as","a","class",".","The","node","features","are","sampled","from","normal","distributions","where","the","centers","of","clusters","are","vertices","of","a","hypercube",",","as","computed","by","the",":","meth",":","`","sklearn.datasets.make_classification","`","method",".","Args",":","root","(","str",")",":","Root","directory","where","the","dataset","should","be","saved",".","num_classes","(","int",")",":","The","number","of","classes",".","num_nodes_per_class","(","int",")",":","The","number","of","nodes","per","class",".","node_homophily_ratio","(","float",")",":","The","degree","of","node","homophily",".","average_degree","(","float",")",":","The","average","degree","of","the","graph",".","num_graphs","(","int",",","optional",")",":","The","number","of","graphs",".","(","default",":",":","obj",":","`","1","`",")","num_channels","(","int",",","optional",")",":","The","number","of","node","features",".","If","given","as",":","obj",":","`","None","`",",","node","features","are","not","generated",".","(","default",":",":","obj",":","`","None","`",")","is_undirected","(","bool",",","optional",")",":","Whether","the","graph","to","generate","is","undirected",".","(","default",":",":","obj",":","`","True","`",")","transform","(","callable",",","optional",")",":","A","function\/transform","that","takes","in","an",":","obj",":","`","torch_geometric.data.Data","`","object","and","returns","a","transformed","version",".","The","data","object","will","be","transformed","before","every","access",".","(","default",":",":","obj",":","`","None","`",")","pre_transform","(","callable",",","optional",")",":","A","function\/transform","that","takes","in","an",":","obj",":","`","torch_geometric.data.Data","`","object","and","returns","a","transformed","version",".","The","data","object","will","be","transformed","before","being","saved","to","disk",".","(","default",":",":","obj",":","`","None","`",")","*","*","kwargs","(","optional",")",":","The","keyword","arguments","that","are","passed","down","to",":","meth",":","`","sklearn.datasets.make_classification","`","method","in","drawing","node","features","."]
code: def process(self) -> None:
      return super().process()
  
file_path: pytorch_geometric/torch_geometric/datasets/sbm_dataset.py
imports: import os.path
  from typing import Any, Callable, List, Optional, Union
  import numpy
  import torch
  from torch import Tensor
  from torch_geometric.data import Data, InMemoryDataset
  from torch_geometric.utils import stochastic_blockmodel_graph
label_desc: Use image node_id 3 for calling the RandomPartitionGraphDataset obj's underlying member method code with example usage: obj.process() and returns: super