class_docstr: Configurator module that load the defined parameters.
  
  Configurator module will first load the default parameters from the fixed properties in RecBole 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
  
  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","RecBole","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","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","."]
code: def __repr__(self):
      return self.__str__()
  
imports: import re
  import os
  import sys
  import yaml
  from logging import getLogger
  from typing import Literal
  from recbole.evaluator import metric_types, smaller_metrics
  from recbole.utils import get_model, Enum, EvaluatorType, ModelType, InputType, general_arguments, training_arguments, evaluation_arguments, dataset_arguments, set_color
label_desc: Use image node_id 22 for calling the Config obj's underlying member method code with example usage: obj.__repr__() and returns: self