class_docstr: Automagic DGL models from Graphistry Instances.
class_docstr_tok: ["Automagic","DGL","models","from","Graphistry","Instances","."]
docstr: Initialize DGL graph lazily
  :return:  
docstr_tok: ["Initialize","DGL","graph","lazily",":","return",":"]
code: def dgl_lazy_init(
      self, train_split: float = 0.8, device: str = "cpu"
  ):
      """
      Initialize DGL graph lazily
      :return:
      """
  
      if not self.dgl_initialized:
          lazy_dgl_import_has_dependency()
          lazy_torch_import_has_dependency()
          self.train_split = train_split
          self.device = device
          self._removed_edges_previously = False
          self._dgl_graph = None
          self.dgl_initialized = True
  
imports: from collections import Counter
  from typing import Dict, Optional, TYPE_CHECKING, Tuple
  import numpy
  import pandas
  from .None import constants
  from .feature_utils import FeatureEngine, FeatureMixin, resolve_feature_engine, XSymbolic, YSymbolic, resolve_X, resolve_y
  from .util import setup_logger
label_desc: Use image node_id 2 for calling the DGLGraphMixin obj's underlying member method code with example usage: obj.dgl_lazy_init(train_split, device) without return types