class_docstr: Class determine the main operations for parameters search
  like finding all changing parameters.
  
  Args:
      prefix: prefix to determine special keys like "`prefix`_range", "`prefix`_bool", "`prefix`_choice"
      seed: random seed for initialization
      **kwargs: basic config with parameters
  
  Attributes:
      basic_config: dictionary with initial config with possible values of searched parameters
      prefix: prefix to determine special keys like "`prefix`_range", "`prefix`_bool", "`prefix`_choice"
      paths_to_params: list of lists of keys and/or integers (for list)
              with relative paths to searched parameters
      n_params: number of searched parameters
      eps: threshold value
docstr: Sample parameters from ranges with log scale
  
  Args:
      from_: lower boundary of values
      to_:  upper boundary of values
  
  Returns:
      random parameters value from range with log scale
docstr_tok: ["Sample","parameters","from","ranges","with","log","scale","Args",":","from_",":","lower","boundary","of","values","to_",":","upper","boundary","of","values","Returns",":","random","parameters","value","from","range","with","log","scale"]
code: def _sample_log(from_: float = 0.0, to_: float = 1.0) -> float:
      """
      Sample parameters from ranges with log scale
  
      Args:
          from_: lower boundary of values
          to_:  upper boundary of values
  
      Returns:
          random parameters value from range with log scale
      """
      sample = np.exp(np.random.uniform(np.log(from_), np.log(to_)))
      return float(sample)
  
file_path: DeepPavlov/deeppavlov/core/common/params_search.py
imports: import random
  from copy import deepcopy
  from logging import getLogger
  from typing import List, Generator, Any, Tuple
  import numpy
  from deeppavlov.core.common.registry import register
label_desc: Use image node_id 9 for calling the ParamsSearch obj's underlying member method code with example usage: obj._sample_log(from_, to_) and returns: float