class_docstr: AutoHGT.
  The model used in this automodel is HGT, i.e., the graph convolutional network from the
  `"Heterogeneous Graph Transformer" <https://arxiv.org/abs/2003.01332>`_ 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.
class_docstr_tok: ["AutoHGT",".","The","model","used","in","this","automodel","is","HGT",",","i.e.",",","the","graph","convolutional","network","from","the","`","``","Heterogeneous","Graph","Transformer","''","<","https",":","\/\/arxiv.org\/abs\/2003.01332",">","`","_","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 __init__(
      self,
      num_features=None,
      num_classes=None,
      device=None,
      init=False,
      dataset=None,
      **args,
  ):
      super().__init__(
          num_features, num_classes, device, dataset, **args
      )
  
      self.hyper_parameter_space = [
          {
              "parameterName": "num_layers",
              "type": "DISCRETE",
              "feasiblePoints": "2,3,4",
          },
          {
              "parameterName": "hidden",
              "type": "INTEGER",
              "minValue": 8,
              "maxValue": 128,
              "scalingType": "LOG",
          },
          {
              "parameterName": "dropout",
              "type": "DOUBLE",
              "maxValue": 0.8,
              "minValue": 0.2,
              "scalingType": "LINEAR",
          },
          {
              "parameterName": "heads",
              "type": "DISCRETE",
              "feasiblePoints": "2,4,8,16",
          },
          {
              "parameterName": "act",
              "type": "CATEGORICAL",
              "feasiblePoints": [
                  "leaky_relu",
                  "relu",
                  "elu",
                  "tanh",
                  "gelu",
              ],  # add F.gelu()
          },
          {
              "parameterName": "use_norm",
              "type": "CATEGORICAL",
              "feasiblePoints": [True, False],
          },
      ]
  
      self.hyper_parameters = {
          "num_layers": 2,
          "hidden": 64,
          "heads": 4,
          "dropout": 0.2,
          "act": "gelu",
          "use_norm": True,
      }
  
      if init is True:
          self.initialize()
  
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 ..None import register_model
  from .base import BaseHeteroModelMaintainer
  from ..base import activate_func
  from .....utils import get_logger
label_desc: Use image node_id 1 to create a new AutoHGT object from inherited base classes: BaseHeteroModelMaintainer with example: obj = AutoHGT(num_features, num_classes, device, init, dataset)