code: def get_param(self, **kwargs):
      expt_grid = ExperimentGrid(
          self.expt_dir, self.variables, self.grid_size, self.seed
      )
      grid, values, durations = expt_grid.get_grid()
      candidates = expt_grid.get_candidates()
      pending = expt_grid.get_pending()
      complete = expt_grid.get_complete()
  
      job_id = self.chooser.next(
          grid, values, durations, candidates, pending, complete
      )
  
      if isinstance(job_id, tuple):
          (job_id, candidate) = job_id
          job_id = expt_grid.add_to_grid(candidate)
  
      expt_grid.set_submitted(job_id, 0)
      job_config = expt_grid.get_params(job_id)
      for i in job_config:
          if (
              len(job_config[i]) == 1
          ):  # spearmint returns list, other methods return value.
              job_config[i] = job_config[i][0]
          else:
              raise NotImplementedError(
                  "Parameter with dimension larger than 1 is not supported yet"
              )
      job_config["job_id"] = job_id
      expt_grid.set_running(job_id)
      self.current_proposal = job_config
      return self.current_proposal
  
file_path: auptimizer/src/aup/Proposer/SpearmintProposer.py
imports: import importlib
  import logging
  import os
  import shutil
  from six.moves import input
  from .AbstractProposer import AbstractProposer
  from .spearmint import ExperimentGrid
  from ..aup import BasicConfig
  from ..utils import set_default_keyvalue, check_missing_key, get_from_options
label_desc: Use image node_id 3 for calling the SpearmintProposer obj's underlying member method code with example usage: obj.get_param() and returns: self