class_docstr: Protein-Protein Interaction dataset for inductive node classification
  
  A toy Protein-Protein Interaction network dataset. The dataset contains
  24 graphs. The average number of nodes per graph is 2372. Each node has
  50 features and 121 labels. 20 graphs for training, 2 for validation
  and 2 for testing.
  
  Reference: `<http://snap.stanford.edu/graphsage/>`_
  
  Statistics:
  
  - Train examples: 20
  - Valid examples: 2
  - Test examples: 2
  
  Parameters
  ----------
  mode : str
      Must be one of ('train', 'valid', 'test').
      Default: 'train'
  raw_dir : str
      Raw file directory to download/contains the input data directory.
      Default: ~/.dgl/
  force_reload : bool
      Whether to reload the dataset.
      Default: False
  verbose : bool
      Whether to print out progress information.
      Default: True.
  transform : callable, optional
      A transform that takes in a :class:`~dgl.DGLGraph` object and returns
      a transformed version. The :class:`~dgl.DGLGraph` object will be
      transformed before every access.
  
  Attributes
  ----------
  num_labels : int
      Number of labels for each node
  labels : Tensor
      Node labels
  features : Tensor
      Node features
  
  Examples
  --------
  >>> dataset = PPIDataset(mode='valid')
  >>> num_classes = dataset.num_classes
  >>> for g in dataset:
  ....    feat = g.ndata['feat']
  ....    label = g.ndata['label']
  ....    # your code here
  >>>
class_docstr_tok: ["Protein-Protein","Interaction","dataset","for","inductive","node","classification","A","toy","Protein-Protein","Interaction","network","dataset",".","The","dataset","contains","24","graphs",".","The","average","number","of","nodes","per","graph","is","2372",".","Each","node","has","50","features","and","121","labels",".","20","graphs","for","training",",","2","for","validation","and","2","for","testing",".","Reference",":","`","<","http",":","\/\/snap.stanford.edu\/graphsage\/",">","`","_","Statistics",":","-","Train","examples",":","20","-","Valid","examples",":","2","-","Test","examples",":","2","Parameters","--","--","--","--","--","mode",":","str","Must","be","one","of","(","'train","'",",","'valid","'",",","'test","'",")",".","Default",":","'train'","raw_dir",":","str","Raw","file","directory","to","download\/contains","the","input","data","directory",".","Default",":","~\/.dgl\/","force_reload",":","bool","Whether","to","reload","the","dataset",".","Default",":","False","verbose",":","bool","Whether","to","print","out","progress","information",".","Default",":","True",".","transform",":","callable",",","optional","A","transform","that","takes","in","a",":","class",":","`","~dgl.DGLGraph","`","object","and","returns","a","transformed","version",".","The",":","class",":","`","~dgl.DGLGraph","`","object","will","be","transformed","before","every","access",".","Attributes","--","--","--","--","--","num_labels",":","int","Number","of","labels","for","each","node","labels",":","Tensor","Node","labels","features",":","Tensor","Node","features","Examples","--","--","--","--",">",">",">","dataset","=","PPIDataset","(","mode='valid","'",")",">",">",">","num_classes","=","dataset.num_classes",">",">",">","for","g","in","dataset",":","....","feat","=","g.ndata","[","'feat","'","]","....","label","=","g.ndata","[","'label","'","]","....","#","your","code","here",">",">",">"]
docstr: Return number of samples in this dataset.
docstr_tok: ["Return","number","of","samples","in","this","dataset","."]
code: def __len__(self):
      """Return number of samples in this dataset."""
      return len(self.graphs)
  
imports: import json
  import os
  import networkx
  import numpy
  from networkx.readwrite import json_graph
  from ..None import backend
  from ..convert import from_networkx
  from .dgl_dataset import DGLBuiltinDataset
  from .utils import _get_dgl_url, load_graphs, load_info, save_graphs, save_info
label_desc: Use image node_id 11 for calling the PPIDataset obj's underlying member method code with example usage: obj.__len__() and returns: len