code: def _init_model(
      self,
      res,
      batch_size: int,
      sample_size: int,
      num_steps: int,
      device,
  ):
      (
          _,
          _,
          _,
          _,
          GraphDataLoader,
          HeteroEmbed,
          _,
          _,
      ) = lazy_embed_import_dep()
      g_iter = SubgraphIterator(res._kg_dgl, sample_size, num_steps)
      g_dataloader = GraphDataLoader(
          g_iter, batch_size=batch_size, collate_fn=lambda x: x[0]
      )
  
      # init model
      model = HeteroEmbed(
          res._num_nodes,
          res._num_rels,
          res._kg_embed_dim,
          proto=res._proto,
          node_features=res._node_features,
          device=device,
      )
  
      return model, g_dataloader
  
imports: import logging
  import numpy
  import pandas
  from typing import Optional, Union, Callable, List, TYPE_CHECKING, Any, Tuple
  from .PlotterBase import Plottable
  from .compute.ComputeMixin import ComputeMixin
label_desc: Use image node_id 4 for calling the HeterographEmbedModuleMixin obj's underlying member method code with example usage: obj._init_model(res, batch_size, sample_size, num_steps, device) and returns: model,  g_dataloader