class_docstr: Singleton class to provide a "not provided" value for AlgorithmConfig signatures.
  
  Using the only instance of this class indicates that the user does NOT wish to
  change the value of some property.
  
  .. testcode::
      :skipif: True
  
      from ray.rllib.algorithms.algorithm_config import AlgorithmConfig
      config = AlgorithmConfig()
      # Print out the default learning rate.
      print(config.lr)
  
  .. testoutput::
  
      0.001
  
  .. testcode::
      :skipif: True
  
      # Print out the default `preprocessor_pref`.
      print(config.preprocessor_pref)
  
  .. testoutput::
  
      "deepmind"
  
  .. testcode::
      :skipif: True
  
      # Will only set the `preprocessor_pref` property (to None) and leave
      # all other properties at their default values.
      config.training(preprocessor_pref=None)
      config.preprocessor_pref is None
  
  .. testoutput::
  
      True
  
  .. testcode::
      :skipif: True
  
      # Still the same value (didn't touch it in the call to `.training()`.
      print(config.lr)
  
  .. testoutput::
  
      0.001
class_docstr_tok: ["Singleton","class","to","provide","a","``","not","provided","''","value","for","AlgorithmConfig","signatures",".","Using","the","only","instance","of","this","class","indicates","that","the","user","does","NOT","wish","to","change","the","value","of","some","property",".","..","testcode",":",":",":","skipif",":","True","from","ray.rllib.algorithms.algorithm_config","import","AlgorithmConfig","config","=","AlgorithmConfig","(",")","#","Print","out","the","default","learning","rate",".","print","(","config.lr",")","..","testoutput",":",":","0.001","..","testcode",":",":",":","skipif",":","True","#","Print","out","the","default","`","preprocessor_pref","`",".","print","(","config.preprocessor_pref",")","..","testoutput",":",":","``","deepmind","''","..","testcode",":",":",":","skipif",":","True","#","Will","only","set","the","`","preprocessor_pref","`","property","(","to","None",")","and","leave","#","all","other","properties","at","their","default","values",".","config.training","(","preprocessor_pref=None",")","config.preprocessor_pref","is","None","..","testoutput",":",":","True","..","testcode",":",":",":","skipif",":","True","#","Still","the","same","value","(","did","n't","touch","it","in","the","call","to","`",".training","(",")","`",".","print","(","config.lr",")","..","testoutput",":",":","0.001"]
code: def __init__(self):
      if _NotProvided.instance is None:
          _NotProvided.instance = _NotProvided.__NotProvided()
  
file_path: ray/rllib/utils/from_config.py
imports: from copy import deepcopy
  from functools import partial
  import importlib
  import json
  import os
  import re
  import yaml
  from ray.rllib.utils.annotations import DeveloperAPI
  from ray.rllib.utils import force_list, merge_dicts
label_desc: Use image node_id 1 to create a new _NotProvided object  with example: obj = _NotProvided()