class_docstr: Auto Multi-class Graph Node Classifier.
  
  Used to automatically solve the node classification problems.
  
  Parameters
  ----------
  feature_module: autogl.module.feature.BaseFeatureEngineer or str or None
      The (name of) auto feature engineer used to process the given dataset. Default ``deepgl``.
      Disable feature engineer by setting it to ``None``.
  
  graph_models: Sequence of models
      Models can be ``str``, ``autogl.module.model.BaseAutoModel``, 
      ``autogl.module.model.encoders.BaseEncoderMaintainer`` or a tuple of (encoder, decoder) 
      if need to specify both encoder and decoder. Encoder can be ``str`` or
      ``autogl.module.model.encoders.BaseEncoderMaintainer``, and decoder can be ``str``
      or ``autogl.module.model.decoders.BaseDecoderMaintainer``.
  
  nas_algorithms: (list of) autogl.module.nas.algorithm.BaseNAS or str (Optional)
      The (name of) nas algorithms used. Default ``None``.
  
  nas_spaces: (list of) autogl.module.nas.space.BaseSpace or str (Optional)
      The (name of) nas spaces used. Default ``None``.
  
  nas_estimators: (list of) autogl.module.nas.estimator.BaseEstimator or str (Optional)
      The (name of) nas estimators used. Default ``None``.
  
  hpo_module: autogl.module.hpo.BaseHPOptimizer or str or None
      The (name of) hpo module used to search for best hyper parameters. Default ``anneal``.
      Disable hpo by setting it to ``None``.
  
  ensemble_module: autogl.module.ensemble.BaseEnsembler or str or None
      The (name of) ensemble module used to ensemble the multi-models found. Default ``voting``.
      Disable ensemble by setting it to ``None``.
  
  max_evals: int (Optional)
      If given, will set the number eval times the hpo module will use.
      Only be effective when hpo_module is ``str``. Default ``None``.
  
  default_trainer: str (Optional)
      The (name of) the trainer used in this solver. Default to ``NodeClassificationFull``.
  
  trainer_hp_space: list of dict (Optional)
      trainer hp space or list of trainer hp spaces configuration.
      If a single trainer hp is given, will specify the hp space of trainer for every model.
      If a list of trainer hp is given, will specify every model with corrsponding
      trainer hp space.
      Default ``None``.
  
  model_hp_spaces: list of list of dict (Optional)
      model hp space configuration.
      If given, will specify every hp space of every passed model. Default ``None``.
      If the encoder(-decoder) is passed, the space should be a dict containing keys "encoder"
      and "decoder", specifying the detailed encoder decoder hp spaces.
  
  size: int (Optional)
      The max models ensemble module will use. Default ``None``.
  
  device: torch.device or str
      The device where model will be running on. If set to ``auto``, will use gpu when available.
      You can also specify the device by directly giving ``gpu`` or ``cuda:0``, etc.
      Default ``auto``.
class_docstr_tok: ["Auto","Multi-class","Graph","Node","Classifier",".","Used","to","automatically","solve","the","node","classification","problems",".","Parameters","--","--","--","--","--","feature_module",":","autogl.module.feature.BaseFeatureEngineer","or","str","or","None","The","(","name","of",")","auto","feature","engineer","used","to","process","the","given","dataset",".","Default","``","deepgl","``",".","Disable","feature","engineer","by","setting","it","to","``","None","``",".","graph_models",":","Sequence","of","models","Models","can","be","``","str","``",",","``","autogl.module.model.BaseAutoModel","``",",","``","autogl.module.model.encoders.BaseEncoderMaintainer","``","or","a","tuple","of","(","encoder",",","decoder",")","if","need","to","specify","both","encoder","and","decoder",".","Encoder","can","be","``","str","``","or","``","autogl.module.model.encoders.BaseEncoderMaintainer","``",",","and","decoder","can","be","``","str","``","or","``","autogl.module.model.decoders.BaseDecoderMaintainer","``",".","nas_algorithms",":","(","list","of",")","autogl.module.nas.algorithm.BaseNAS","or","str","(","Optional",")","The","(","name","of",")","nas","algorithms","used",".","Default","``","None","``",".","nas_spaces",":","(","list","of",")","autogl.module.nas.space.BaseSpace","or","str","(","Optional",")","The","(","name","of",")","nas","spaces","used",".","Default","``","None","``",".","nas_estimators",":","(","list","of",")","autogl.module.nas.estimator.BaseEstimator","or","str","(","Optional",")","The","(","name","of",")","nas","estimators","used",".","Default","``","None","``",".","hpo_module",":","autogl.module.hpo.BaseHPOptimizer","or","str","or","None","The","(","name","of",")","hpo","module","used","to","search","for","best","hyper","parameters",".","Default","``","anneal","``",".","Disable","hpo","by","setting","it","to","``","None","``",".","ensemble_module",":","autogl.module.ensemble.BaseEnsembler","or","str","or","None","The","(","name","of",")","ensemble","module","used","to","ensemble","the","multi-models","found",".","Default","``","voting","``",".","Disable","ensemble","by","setting","it","to","``","None","``",".","max_evals",":","int","(","Optional",")","If","given",",","will","set","the","number","eval","times","the","hpo","module","will","use",".","Only","be","effective","when","hpo_module","is","``","str","``",".","Default","``","None","``",".","default_trainer",":","str","(","Optional",")","The","(","name","of",")","the","trainer","used","in","this","solver",".","Default","to","``","NodeClassificationFull","``",".","trainer_hp_space",":","list","of","dict","(","Optional",")","trainer","hp","space","or","list","of","trainer","hp","spaces","configuration",".","If","a","single","trainer","hp","is","given",",","will","specify","the","hp","space","of","trainer","for","every","model",".","If","a","list","of","trainer","hp","is","given",",","will","specify","every","model","with","corrsponding","trainer","hp","space",".","Default","``","None","``",".","model_hp_spaces",":","list","of","list","of","dict","(","Optional",")","model","hp","space","configuration",".","If","given",",","will","specify","every","hp","space","of","every","passed","model",".","Default","``","None","``",".","If","the","encoder","(","-decoder",")","is","passed",",","the","space","should","be","a","dict","containing","keys","``","encoder","''","and","``","decoder","''",",","specifying","the","detailed","encoder","decoder","hp","spaces",".","size",":","int","(","Optional",")","The","max","models","ensemble","module","will","use",".","Default","``","None","``",".","device",":","torch.device","or","str","The","device","where","model","will","be","running","on",".","If","set","to","``","auto","``",",","will","use","gpu","when","available",".","You","can","also","specify","the","device","by","directly","giving","``","gpu","``","or","``","cuda:0","``",",","etc",".","Default","``","auto","``","."]
docstr: Evaluate the given dataset.
  
  
  Parameters
  ----------
  dataset: torch_geometric.data.dataset.Dataset or None
      The dataset needed to predict. If ``None``, will use the processed dataset passed
      to ``fit()`` instead. Default ``None``.
  
  inplaced: bool
      Whether the given dataset is processed. Only be effective when ``dataset``
      is not ``None``. If you pass the dataset to ``fit()`` with ``inplace=True``, and
      you pass the dataset again to this method, you should set this argument to ``True``.
      Otherwise ``False``. Default ``False``.
  
  inplace: bool
      Whether we process the given dataset in inplace manner. Default ``False``. Set it to
      True if you want to save memory by modifying the given dataset directly.
  
  use_ensemble: bool
      Whether to use ensemble to do the predict. Default ``True``.
  
  use_best: bool
      Whether to use the best single model to do the predict. Will only be effective when
      ``use_ensemble`` is ``False``. Default ``True``.
  
  name: str or None
      The name of model used to predict. Will only be effective when ``use_ensemble`` and
      ``use_best`` both are ``False``. Default ``None``.
  
  mask: str
      The data split to give prediction on. Default ``test``.
  
  label: torch.Tensor (Optional)
      The groud truth label of the given predicted dataset split. If not passed, will extract
      labels from the input dataset.
  
  metric: str
      The metric to be used for evaluating the model. Default ``acc``.
  
  Returns
  -------
  score(s): (list of) evaluation scores
      the evaluation results according to the evaluator passed.
docstr_tok: ["Evaluate","the","given","dataset",".","Parameters","--","--","--","--","--","dataset",":","torch_geometric.data.dataset.Dataset","or","None","The","dataset","needed","to","predict",".","If","``","None","``",",","will","use","the","processed","dataset","passed","to","``","fit","(",")","``","instead",".","Default","``","None","``",".","inplaced",":","bool","Whether","the","given","dataset","is","processed",".","Only","be","effective","when","``","dataset","``","is","not","``","None","``",".","If","you","pass","the","dataset","to","``","fit","(",")","``","with","``","inplace=True","``",",","and","you","pass","the","dataset","again","to","this","method",",","you","should","set","this","argument","to","``","True","``",".","Otherwise","``","False","``",".","Default","``","False","``",".","inplace",":","bool","Whether","we","process","the","given","dataset","in","inplace","manner",".","Default","``","False","``",".","Set","it","to","True","if","you","want","to","save","memory","by","modifying","the","given","dataset","directly",".","use_ensemble",":","bool","Whether","to","use","ensemble","to","do","the","predict",".","Default","``","True","``",".","use_best",":","bool","Whether","to","use","the","best","single","model","to","do","the","predict",".","Will","only","be","effective","when","``","use_ensemble","``","is","``","False","``",".","Default","``","True","``",".","name",":","str","or","None","The","name","of","model","used","to","predict",".","Will","only","be","effective","when","``","use_ensemble","``","and","``","use_best","``","both","are","``","False","``",".","Default","``","None","``",".","mask",":","str","The","data","split","to","give","prediction","on",".","Default","``","test","``",".","label",":","torch.Tensor","(","Optional",")","The","groud","truth","label","of","the","given","predicted","dataset","split",".","If","not","passed",",","will","extract","labels","from","the","input","dataset",".","metric",":","str","The","metric","to","be","used","for","evaluating","the","model",".","Default","``","acc","``",".","Returns","--","--","--","-","score","(","s",")",":","(","list","of",")","evaluation","scores","the","evaluation","results","according","to","the","evaluator","passed","."]
code: def evaluate(
      self,
      dataset=None,
      inplaced=False,
      inplace=False,
      use_ensemble=True,
      use_best=True,
      name=None,
      mask="test",
      label=None,
      metric="acc",
  ):
      """
      Evaluate the given dataset.
  
  
      Parameters
      ----------
      dataset: torch_geometric.data.dataset.Dataset or None
          The dataset needed to predict. If ``None``, will use the processed dataset passed
          to ``fit()`` instead. Default ``None``.
  
      inplaced: bool
          Whether the given dataset is processed. Only be effective when ``dataset``
          is not ``None``. If you pass the dataset to ``fit()`` with ``inplace=True``, and
          you pass the dataset again to this method, you should set this argument to ``True``.
          Otherwise ``False``. Default ``False``.
  
      inplace: bool
          Whether we process the given dataset in inplace manner. Default ``False``. Set it to
          True if you want to save memory by modifying the given dataset directly.
  
      use_ensemble: bool
          Whether to use ensemble to do the predict. Default ``True``.
  
      use_best: bool
          Whether to use the best single model to do the predict. Will only be effective when
          ``use_ensemble`` is ``False``. Default ``True``.
  
      name: str or None
          The name of model used to predict. Will only be effective when ``use_ensemble`` and
          ``use_best`` both are ``False``. Default ``None``.
  
      mask: str
          The data split to give prediction on. Default ``test``.
  
      label: torch.Tensor (Optional)
          The groud truth label of the given predicted dataset split. If not passed, will extract
          labels from the input dataset.
  
      metric: str
          The metric to be used for evaluating the model. Default ``acc``.
  
      Returns
      -------
      score(s): (list of) evaluation scores
          the evaluation results according to the evaluator passed.
  
      """
      predicted = self.predict_proba(
          dataset, inplaced, inplace, use_ensemble, use_best, name, mask
      )
      if dataset is None:
          dataset = self.dataset
      if label is None:
          label = (
              get_graph_labels(dataset[0])[
                  get_graph_masks(dataset[0], mask)
              ]
              .cpu()
              .numpy()
          )
      evaluator = get_feval(metric)
      if isinstance(evaluator, Sequence):
          return [
              evals.evaluate(predicted, label) for evals in evaluator
          ]
      return evaluator.evaluate(predicted, label)
  
imports: import time
  import json
  from copy import deepcopy
  from typing import Sequence
  import torch
  import numpy
  import yaml
  from .base import BaseClassifier
  from ..base import _parse_hp_space, _initialize_single_model, _parse_model_hp
  from ...module.feature import FEATURE_DICT
  from ...module.train import TRAINER_DICT, BaseNodeClassificationTrainer
  from ...module.train import get_feval
  from ...module.nas.space import NAS_SPACE_DICT
  from ...module.nas.algorithm import NAS_ALGO_DICT
  from ...module.nas.estimator import NAS_ESTIMATOR_DICT, BaseEstimator
  from ..utils import LeaderBoard, get_graph_from_dataset, get_graph_labels, get_graph_masks, get_graph_node_features, get_graph_node_number, set_seed
  from ...datasets import utils
  from ...utils import get_logger
label_desc: Use image node_id 9 for calling the AutoNodeClassifier obj's underlying member method code with example usage: obj.evaluate(dataset, inplaced, inplace, use_ensemble, use_best, name, mask, label, metric) and returns: evaluator, unknown