class_docstr: This class is the schema of 'tuner', 'assessor' and 'advisor' sections of experiment configuraion file.
  For example:
  AlgoSchema('tuner') creates the schema of tuner section.
class_docstr_tok: ["This","class","is","the","schema","of","'tuner","'",",","'assessor","'","and","'advisor","'","sections","of","experiment","configuraion","file",".","For","example",":","AlgoSchema","(","'tuner","'",")","creates","the","schema","of","tuner","section","."]
docstr: Parameters:
  -----------
  algo_type: str
      One of ['tuner', 'assessor', 'advisor'].
      'tuner': This AlgoSchema class create the schema of tuner section.
      'assessor': This AlgoSchema class create the schema of assessor section.
      'advisor': This AlgoSchema class create the schema of advisor section.
docstr_tok: ["Parameters",":","--","--","--","--","--","-","algo_type",":","str","One","of","[","'tuner","'",",","'assessor","'",",","'advisor","'","]",".","'tuner","'",":","This","AlgoSchema","class","create","the","schema","of","tuner","section",".","'assessor","'",":","This","AlgoSchema","class","create","the","schema","of","assessor","section",".","'advisor","'",":","This","AlgoSchema","class","create","the","schema","of","advisor","section","."]
code: def __init__(self, algo_type):
      """
      Parameters:
      -----------
      algo_type: str
          One of ['tuner', 'assessor', 'advisor'].
          'tuner': This AlgoSchema class create the schema of tuner section.
          'assessor': This AlgoSchema class create the schema of assessor section.
          'advisor': This AlgoSchema class create the schema of advisor section.
      """
      assert algo_type in ["tuner", "assessor", "advisor"]
      self.algo_type = algo_type
      self.algo_schema = {
          Optional("codeDir"): setPathCheck("codeDir"),
          Optional("classFileName"): setType("classFileName", str),
          Optional("className"): setType("className", str),
          Optional("classArgs"): dict,
          Optional("includeIntermediateResults"): setType(
              "includeIntermediateResults", bool
          ),
          Optional("gpuIndices"): Or(
              int,
              And(
                  str, lambda x: len([int(i) for i in x.split(",")]) > 0
              ),
              error="gpuIndex format error!",
          ),
      }
      self.builtin_keys = {
          "tuner": "builtinTunerName",
          "assessor": "builtinAssessorName",
          "advisor": "builtinAdvisorName",
      }
      self.builtin_name_schema = {}
      for k, n in self.builtin_keys.items():
          self.builtin_name_schema[k] = {Optional(n): setType(n, str)}
  
      self.customized_keys = set(
          ["codeDir", "classFileName", "className"]
      )
  
imports: import json
  import os
  from schema import And, Optional, Or, Regex, Schema, SchemaError
  from nni.tools.package_utils.tuner_factory import create_validator_instance
  from .common_utils import get_yml_content, print_warning
  from .constants import SCHEMA_PATH_ERROR, SCHEMA_RANGE_ERROR, SCHEMA_TYPE_ERROR
label_desc: Use image node_id 1 to create a new AlgoSchema object  with example: obj = AlgoSchema(algo_type)