class_docstr: Duck-typed version of PyG's GraphStore and FeatureStore.
class_docstr_tok: ["Duck-typed","version","of","PyG","'s","GraphStore","and","FeatureStore","."]
code: def __infer_edge_types(
      self,
      num_nodes_dict: Dict[str, int],
      num_edges_dict: Dict[Tuple[str, str, str], int],
  ) -> None:
      self.__edge_types_to_attrs = {}
  
      for pyg_can_edge_type in sorted(num_edges_dict.keys()):
          sz_src = num_nodes_dict[pyg_can_edge_type[0]]
          sz_dst = num_nodes_dict[pyg_can_edge_type[-1]]
          self.__edge_types_to_attrs[
              pyg_can_edge_type
          ] = CuGraphEdgeAttr(
              edge_type=pyg_can_edge_type,
              layout=EdgeLayout.COO,
              is_sorted=False,
              size=(sz_src, sz_dst),
          )
  
imports: from typing import Optional, Tuple, Any, Union, List, Dict
  from enum import Enum, auto
  from dataclasses import dataclass
  from collections import defaultdict
  from itertools import chain
  from functools import cached_property
  import numpy
  import cupy
  import pandas
  import cudf
  import cugraph
  import warnings
  import dask.array
  import dask.dataframe
  import dask.distributed
  import dask_cudf
  from cugraph.utilities.utils import import_optional, MissingModule
label_desc: Use image node_id 26 for calling the CuGraphStore obj's underlying member method code with example usage: obj.__infer_edge_types(num_nodes_dict, num_edges_dict) without return types