class_docstr: AutoHAN.
  The model used in this automodel is HAN, i.e., the graph convolutional network from the
  `"Heterogenous Graph Attention Network"
  <https://arxiv.org/pdf/1903.07293.pdf>`_ paper.
  
  
  Parameters
  ----------
  num_features: `int`.
      The dimension of features.
  
  num_classes: `int`.
      The number of classes.
  
  device: `torch.device` or `str`.
      The device where model will be running on.
  
  init: `bool`.
      If True(False), the model will (not) be initialized.
  
  dataset: `autogl.datasets`.
      Hetero Graph Dataset in autogl.
code: def _initialize(self):
      self._model = HAN(
          dict(
              num_features=self.input_dimension,
              num_class=self.output_dimension,
              out_key=self.out_key,
              meta_paths=self.meta_paths,
              **self.hyper_parameters,
          )
      ).to(self.device)
  
imports: import logging
  import dgl
  import math
  import torch
  import torch.nn
  import torch.nn.functional
  import dgl.function
  from dgl.nn.functional import edge_softmax
  from dgl.nn.pytorch import GATConv
  from functools import partial
  from ..._utils import activation
  from ..None import register_model
  from .base import BaseHeteroModelMaintainer
  from .....utils import get_logger
label_desc: Use image node_id 2 for calling the AutoHAN obj's underlying member method code with example usage: obj._initialize() without return types