class_docstr: Configurator module that load the defined parameters.
  
  Configurator module will first load the default parameters from the fixed properties in TextBox and then
  load parameters from the external input.
  
  External input supports three kind of forms: config file, command line and parameter dictionaries.
  
  - config file: It's a file that record the parameters to be modified or added. It should be in ``yaml`` format,
    e.g. a config file is 'example.yaml', the content is:
  
      learning_rate: 0.001
  
      train_batch_size: 2048
  
  - command line: It should be in the format as '\-\-learning_rate=0.001'
  
  - parameter dictionaries: It should be a dict, where the key is parameter name and the value is parameter value,
    e.g. config_dict = {'learning_rate': 0.001}
  
  Configuration module allows the above three kind of external input format to be used together,
  the priority order is as following:
  
  command line > parameter dictionaries > config file (model > dataset > overall)
  
  e.g. If we set learning_rate=0.01 in config file, learning_rate=0.02 in command line,
  learning_rate=0.03 in parameter dictionaries.
  
  Finally the learning_rate is equal to 0.02.
class_docstr_tok: ["Configurator","module","that","load","the","defined","parameters",".","Configurator","module","will","first","load","the","default","parameters","from","the","fixed","properties","in","TextBox","and","then","load","parameters","from","the","external","input",".","External","input","supports","three","kind","of","forms",":","config","file",",","command","line","and","parameter","dictionaries",".","-","config","file",":","It","'s","a","file","that","record","the","parameters","to","be","modified","or","added",".","It","should","be","in","``","yaml","``","format",",","e.g",".","a","config","file","is","'example.yaml","'",",","the","content","is",":","learning_rate",":","0.001","train_batch_size",":","2048","-","command","line",":","It","should","be","in","the","format","as","'\\-\\-learning_rate=0.001'","-","parameter","dictionaries",":","It","should","be","a","dict",",","where","the","key","is","parameter","name","and","the","value","is","parameter","value",",","e.g",".","config_dict","=","{","'learning_rate","'",":","0.001","}","Configuration","module","allows","the","above","three","kind","of","external","input","format","to","be","used","together",",","the","priority","order","is","as","following",":","command","line",">","parameter","dictionaries",">","config","file","(","model",">","dataset",">","overall",")","e.g",".","If","we","set","learning_rate=0.01","in","config","file",",","learning_rate=0.02","in","command","line",",","learning_rate=0.03","in","parameter","dictionaries",".","Finally","the","learning_rate","is","equal","to","0.02","."]
docstr: This function convert the str parameters to their original type.
  
          
docstr_tok: ["This","function","convert","the","str","parameters","to","their","original","type","."]
code: def _convert_config_dict(self, config_dict: dict) -> dict:
      r"""This function convert the str parameters to their original type."""
      for key in config_dict:
          param = config_dict[key]
          if not isinstance(param, str):
              continue
          try:
              value = eval(param)
              if not isinstance(
                  value, (str, int, float, list, tuple, dict, bool)
              ):
                  value = param
          except (NameError, SyntaxError, TypeError):
              if isinstance(param, str):
                  if param.lower() == "true":
                      value = True
                  elif param.lower() == "false":
                      value = False
                  else:
                      value = param
              else:
                  value = param
          config_dict[key] = value
      return config_dict
  
imports: import re
  import os
  import sys
  import yaml
  import torch
  from logging import getLogger
  from colorama import init, Fore
  from typing import List, Dict, Optional, Iterable, Any
  from textbox.utils.utils import get_local_time
  from textbox.utils.argument_list import general_parameters, training_parameters, evaluation_parameters, model_parameters, dataset_parameters
label_desc: Use image node_id 4 for calling the Config obj's underlying member method code with example usage: obj._convert_config_dict(config_dict) and returns: config_dict