class_docstr: Batch tuner is a special tuner that allows users to simply provide several hyperparameter sets,
  and it will evaluate each set.
  
  Batch tuner does **not** support standard search space.
  
  Search space of batch tuner looks like a single ``choice`` in standard search space,
  but it has different meaning.
  
  Consider following search space:
  
  .. code-block::
  
      'combine_params': {
          '_type': 'choice',
          '_value': [
              {'x': 0, 'y': 1},
              {'x': 1, 'y': 2},
              {'x': 1, 'y': 3},
          ]
      }
  
  Batch tuner will generate following 4 hyperparameter sets:
  
  1. {'x': 0, 'y': 1}
  2. {'x': 1, 'y': 2}
  3. {'x': 1, 'y': 3}
  
  If this search space was used with grid search tuner, it would instead generate:
  
  1. {'combine_params': {'x': 0, 'y': 1 }}
  2. {'combine_params': {'x': 1, 'y': 2 }}
  3. {'combine_params': {'x': 1, 'y': 3 }}
  
  Examples
  --------
  
  .. code-block::
  
      config.search_space = {
          'combine_params': {
              '_type': 'choice',
              '_value': [
                  {'optimizer': 'Adam', 'learning_rate': 0.001},
                  {'optimizer': 'Adam', 'learning_rate': 0.0001},
                  {'optimizer': 'Adam', 'learning_rate': 0.00001},
                  {'optimizer': 'SGD', 'learning_rate': 0.01},
                  {'optimizer': 'SGD', 'learning_rate': 0.005},
              ]
          }
      }
      config.tuner.name = 'Batch'
code: def receive_trial_result(
      self, parameter_id, parameters, value, **kwargs
  ):
      pass
  
file_path: nni/nni/algorithms/hpo/batch_tuner.py
imports: import logging
  import nni
  from nni.common.hpo_utils import validate_search_space
  from nni.tuner import Tuner
label_desc: Use image node_id 5 for calling the BatchTuner obj's underlying member method code with example usage: obj.receive_trial_result(parameter_id, parameters, value) without return types