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 from_dataset(self, dataset):
      self.register_parameter(
          "out_key", dataset.schema["target_node_type"]
      )
      self.register_parameter("meta_paths", dataset.schema.meta_paths)
  
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 3 for calling the AutoHAN obj's underlying member method code with example usage: obj.from_dataset(dataset) without return types