class_docstr: The heterogeneous node classification trainer.
  
  Parameters
  ----------
  model: ``autogl.module.model.BaseAutoModel``
      Currently Heterogeneous trainer doesn't support decoupled model setting.
  
  num_features: ``int`` (Optional)
      The number of features in dataset. default None
  
  num_classes: ``int`` (Optional)
      The number of classes. default None
  
  optimizer: ``Optimizer`` of ``str``
      The (name of) optimizer used to train and predict. default torch.optim.Adam
  
  lr: ``float``
      The learning rate of node classification task. default 1e-4
  
  max_epoch: ``int``
      The max number of epochs in training. default 100
  
  early_stopping_round: ``int``
      The round of early stop. default 100
  
  weight_decay: ``float``
      weight decay ratio, default 1e-4
  
  device: ``torch.device`` or ``str``
      The device where model will be running on.
  
  init: ``bool``
      If True(False), the model will (not) be initialized.
  
  feval: (Sequence of) ``Evaluation`` or ``str``
      The evaluation functions, default ``[LogLoss]``
  
  loss: ``str``
      The loss used. Default ``nll_loss``.
  
  lr_scheduler_type: ``str`` (Optional)
      The lr scheduler type used. Default None.
code: def __repr__(self) -> str:
      import yaml
  
      return yaml.dump(
          {
              "trainer_name": self.__class__.__name__,
              "optimizer": self.optimizer,
              "learning_rate": self.lr,
              "max_epoch": self.max_epoch,
              "early_stopping_round": self.early_stopping_round,
              "model": repr(self.model.model),
          }
      )
  
imports: from .None import register_trainer
  from .base import BaseNodeClassificationHetTrainer, EarlyStopping
  import torch
  from torch.optim.lr_scheduler import StepLR, MultiStepLR, ExponentialLR, ReduceLROnPlateau
  import torch.nn.functional
  from ..model import BaseAutoModel
  from .evaluation import get_feval, Logloss
  from typing import Union
  from copy import deepcopy
  from sklearn.metrics import f1_score
  from ...utils import get_logger
  from ...backend import DependentBackend
label_desc: Use image node_id 12 for calling the NodeClassificationHetTrainer obj's underlying member method code with example usage: obj.__repr__() and returns: yaml