class_docstr: NetworkMorphismTuner is a tuner which using network morphism techniques.
  
  Attributes
  ----------
  n_classes : int
      The class number or output node number (default: ``10``)
  input_shape : tuple
      A tuple including: (input_width, input_width, input_channel)
  t_min : float
      The minimum temperature for simulated annealing. (default: ``Constant.T_MIN``)
  beta : float
      The beta in acquisition function. (default: ``Constant.BETA``)
  algorithm_name : str
      algorithm name used in the network morphism (default: ``"Bayesian"``)
  optimize_mode : str
      optimize mode "minimize" or "maximize" (default: ``"minimize"``)
  verbose : bool
      verbose to print the log (default: ``True``)
  bo : BayesianOptimizer
      The optimizer used in networkmorphsim tuner.
  max_model_size : int
      max model size to the graph (default: ``Constant.MAX_MODEL_SIZE``)
  default_model_len : int
      default model length (default: ``Constant.MODEL_LEN``)
  default_model_width : int
      default model width (default: ``Constant.MODEL_WIDTH``)
  search_space : dict
class_docstr_tok: ["NetworkMorphismTuner","is","a","tuner","which","using","network","morphism","techniques",".","Attributes","--","--","--","--","--","n_classes",":","int","The","class","number","or","output","node","number","(","default",":","``","10","``",")","input_shape",":","tuple","A","tuple","including",":","(","input_width",",","input_width",",","input_channel",")","t_min",":","float","The","minimum","temperature","for","simulated","annealing",".","(","default",":","``","Constant.T_MIN","``",")","beta",":","float","The","beta","in","acquisition","function",".","(","default",":","``","Constant.BETA","``",")","algorithm_name",":","str","algorithm","name","used","in","the","network","morphism","(","default",":","``","``","Bayesian","''","``",")","optimize_mode",":","str","optimize","mode","``","minimize","''","or","``","maximize","''","(","default",":","``","``","minimize","''","``",")","verbose",":","bool","verbose","to","print","the","log","(","default",":","``","True","``",")","bo",":","BayesianOptimizer","The","optimizer","used","in","networkmorphsim","tuner",".","max_model_size",":","int","max","model","size","to","the","graph","(","default",":","``","Constant.MAX_MODEL_SIZE","``",")","default_model_len",":","int","default","model","length","(","default",":","``","Constant.MODEL_LEN","``",")","default_model_width",":","int","default","model","width","(","default",":","``","Constant.MODEL_WIDTH","``",")","search_space",":","dict"]
docstr: initilizer of the NetworkMorphismTuner.
docstr_tok: ["initilizer","of","the","NetworkMorphismTuner","."]
code: def __init__(
      self,
      task="cv",
      input_width=32,
      input_channel=3,
      n_output_node=10,
      algorithm_name="Bayesian",
      optimize_mode="maximize",
      path="model_path",
      verbose=True,
      beta=Constant.BETA,
      t_min=Constant.T_MIN,
      max_model_size=Constant.MAX_MODEL_SIZE,
      default_model_len=Constant.MODEL_LEN,
      default_model_width=Constant.MODEL_WIDTH,
  ):
      """
      initilizer of the NetworkMorphismTuner.
      """
  
      if not os.path.exists(path):
          os.makedirs(path)
      self.path = os.path.join(os.getcwd(), path)
      if task == "cv":
          self.generators = [CnnGenerator]
      elif task == "common":
          self.generators = [MlpGenerator]
      else:
          raise NotImplementedError(
              '{} task not supported in List ["cv","common"]'
          )
  
      self.n_classes = n_output_node
      self.input_shape = (input_width, input_width, input_channel)
  
      self.t_min = t_min
      self.beta = beta
      self.algorithm_name = algorithm_name
      self.optimize_mode = OptimizeMode(optimize_mode)
      self.json = None
      self.total_data = {}
      self.verbose = verbose
      self.model_count = 0
  
      self.bo = BayesianOptimizer(
          self, self.t_min, self.optimize_mode, self.beta
      )
      self.training_queue = []
      self.descriptors = []
      self.history = []
  
      self.max_model_size = max_model_size
      self.default_model_len = default_model_len
      self.default_model_width = default_model_width
  
      self.search_space = dict()
  
imports: import logging
  import os
  from schema import Optional, Schema
  from nni import ClassArgsValidator
  from nni.tuner import Tuner
  from nni.utils import OptimizeMode, extract_scalar_reward
  from .bayesian import BayesianOptimizer
  from .nn import CnnGenerator, MlpGenerator
  from .utils import Constant
  from .graph import graph_to_json, json_to_graph
label_desc: Use image node_id 1 to create a new NetworkMorphismTuner object from inherited base classes: Tuner with example: obj = NetworkMorphismTuner(task, input_width, input_channel, n_output_node, algorithm_name, optimize_mode, path, verbose, beta, t_min, max_model_size, default_model_len, default_model_width)