class_docstr: Class of experiment configuration. Check the reference_ for explaination of each field.
  
  When used in Python experiment API, it can be constructed in two favors:
  
  1. Create an empty project then set each field
  
  .. code-block:: python
  
      config = ExperimentConfig('local')
      config.search_space = {...}
      config.tuner.name = 'random'
      config.training_service.use_active_gpu = True
  
   2. Use kwargs directly
  
   .. code-block:: python
  
      config = ExperimentConfig(
          search_space = {...},
          tuner = AlgorithmConfig(name='random'),
          training_service = LocalConfig(
              use_active_gpu = True
          )
      )
  
  .. _reference: https://nni.readthedocs.io/en/stable/reference/experiment_config.html
class_docstr_tok: ["Class","of","experiment","configuration",".","Check","the","reference_","for","explaination","of","each","field",".","When","used","in","Python","experiment","API",",","it","can","be","constructed","in","two","favors",":","1",".","Create","an","empty","project","then","set","each","field","..","code-block",":",":","python","config","=","ExperimentConfig","(","'local","'",")","config.search_space","=","{","...","}","config.tuner.name","=","'random'","config.training_service.use_active_gpu","=","True","2",".","Use","kwargs","directly","..","code-block",":",":","python","config","=","ExperimentConfig","(","search_space","=","{","...","}",",","tuner","=","AlgorithmConfig","(","name='random","'",")",",","training_service","=","LocalConfig","(","use_active_gpu","=","True",")",")","..","_reference",":","https",":","\/\/nni.readthedocs.io\/en\/stable\/reference\/experiment_config.html"]
code: def __new__(cls, *args, **kwargs) -> "ExperimentConfig":
      if cls is not ExperimentConfig:
          # The __new__ only applies to the base class.
          return super().__new__(cls)
      if kwargs.get("experimentType") == "nas":
          # Loaded by JSON or YAML.
          # Send the kwargs to the NAS config constructor.
          from nni.nas.experiment import NasExperimentConfig
  
          return NasExperimentConfig.__new__(NasExperimentConfig)
      else:
          return super().__new__(cls)
  
file_path: nni/nni/experiment/config/experiment_config.py
imports: from dataclasses import dataclass
  import json
  import logging
  from pathlib import Path
  from typing import Any, List, Optional, Union
  from typing_extensions import Literal
  import yaml
  from .algorithm import _AlgorithmConfig
  from .base import ConfigBase
  from .shared_storage import SharedStorageConfig
  from .training_service import TrainingServiceConfig
  from .None import utils
label_desc: Use image node_id 1 for calling the ExperimentConfig obj's underlying member method code with example usage: obj.__new__(cls) and returns: super, NasExperimentConfig, super