class_docstr: Proposer to generate new values for hyperparameters
  
  :param config: experiment configuration
  :type config: BasicConfig
code: def __init__(self, config):
      self.nSamples = 0  # number of total jobs for an experiment
      self.counter = 0  # number of executed jobs
      self.current_proposal = dict()
      self.status = (
          ProposerStatus.RUNNING
      )  # whether the experiment is finished
      self.status_lock = threading.Lock()
      AbstractProposer.verify_config(self, config)
  
imports: import abc
  import logging
  import pickle
  import json
  import threading
  from six.moves import input
  from ..utils import set_default_keyvalue, check_missing_key, get_from_options
  from .None import ProposerStatus
label_desc: Use image node_id 1 to create a new AbstractProposer object from inherited base classes: ABC with example: obj = AbstractProposer(config)