class_docstr: A plain python object modeling a heterogeneous graph with various
  attributes (Node types in :class:`HeteroGraph` require string type).
  
  Args:
      G (:class:`networkx.classes.graph`): A NetworkX graph object which
          contains features and labels for each node type and edge type.
      **kwargs: Keyworded argument list with keys such
          as :obj:`"node_feature"`, :obj:`"node_label"` and
          corresponding attributes.
class_docstr_tok: ["A","plain","python","object","modeling","a","heterogeneous","graph","with","various","attributes","(","Node","types","in",":","class",":","`","HeteroGraph","`","require","string","type",")",".","Args",":","G","(",":","class",":","`","networkx.classes.graph","`",")",":","A","NetworkX","graph","object","which","contains","features","and","labels","for","each","node","type","and","edge","type",".","*","*","kwargs",":","Keyworded","argument","list","with","keys","such","as",":","obj",":","`","``","node_feature","''","`",",",":","obj",":","`","``","node_label","''","`","and","corresponding","attributes","."]
docstr: "
  Returns the incremental count to cumulatively increase the value
  of the next attribute of :obj:`key` when creating batches.
  
  .. note::
  
    This method is for internal use only, and should only be overridden
    if the batch concatenation process is corrupted for a specific data
    attribute.
docstr_tok: ["``","Returns","the","incremental","count","to","cumulatively","increase","the","value","of","the","next","attribute","of",":","obj",":","`","key","`","when","creating","batches",".","..","note",":",":","This","method","is","for","internal","use","only",",","and","should","only","be","overridden","if","the","batch","concatenation","process","is","corrupted","for","a","specific","data","attribute","."]
code: def __inc__(self, key: str, value) -> int:
      r""" "
      Returns the incremental count to cumulatively increase the value
      of the next attribute of :obj:`key` when creating batches.
  
      .. note::
  
        This method is for internal use only, and should only be overridden
        if the batch concatenation process is corrupted for a specific data
        attribute.
      """
      # Only `*index*` and `*face*` should be cumulatively summed up when
      # creating batches.
      if (
          isinstance(key, tuple)
          and torch.is_tensor(value)
          and len(value.shape) == 2
          and value.shape[0] == 2
          and value.shape[1] >= self.num_edges(key)
      ):
          node_type_start, _, node_type_end = key
          return torch.tensor(
              [
                  [self.num_nodes(node_type_start)],
                  [self.num_nodes(node_type_end)],
              ]
          )
      return 0
  
imports: import math
  import copy
  import random
  import torch
  import networkx
  import numpy
  from deepsnap.graph import Graph
  from typing import Dict, List, Union
  import warnings
label_desc: Use image node_id 41 for calling the HeteroGraph obj's underlying member method code with example usage: obj.__inc__(key, value) and returns: int, torch