class_docstr: Class for fitting Gaussian processes. 
class_docstr_tok: ["Class","for","fitting","Gaussian","processes","."]
docstr: Sets up bounds for the mean value and the noise. 
docstr_tok: ["Sets","up","bounds","for","the","mean","value","and","the","noise","."]
code: def _set_up_mean_and_noise_variance_bounds(self):
      """Sets up bounds for the mean value and the noise."""
      # 1. The prior mean for the GP.
      if (
          not (
              hasattr(self.options, "mean_func")
              and self.options.mean_func is not None
          )
          and self.options.mean_func_type == "tune"
      ):
          Y_std = np.sqrt(self.Y_var)
          if len(self.Y) > 0:
              Y_median = np.median(self.Y)
              Y_half_range = (
                  0.5 * (max(self.Y) - min(self.Y))
                  if len(self.Y) > 0
                  else 1.0
              )
          else:
              Y_median = 0.0
              Y_half_range = 1.0
          Y_width = 0.5 * (Y_half_range + Y_std)
          self.mean_func_bounds = [
              Y_median - 3 * Y_width,
              Y_median + 3 * Y_width,
          ]
          self.cts_hp_bounds.append(self.mean_func_bounds)
          self.param_order.append(["noise_mean", "cts"])
      # 2. The noise variance
      if self.options.noise_var_type == "tune":
          self.noise_var_log_bounds = [
              np.log(0.005 * self.Y_var),
              np.log(0.2 * self.Y_var),
          ]
          self.cts_hp_bounds.append(self.noise_var_log_bounds)
          self.param_order.append(["noise_var", "cts"])
  
imports: from __future__ import division
  from argparse import Namespace
  from itertools import product
  import sys
  import numpy
  from ..distributions.model import Model
  from ..distributions import continuous
  from ..distributions import discrete
  from ..utils.general_utils import stable_cholesky, draw_gaussian_samples, project_symmetric_to_psd_cone, solve_lower_triangular, solve_upper_triangular
  from ..utils.oper_utils import direct_ft_maximise, pdoo_maximise, random_maximise, random_sample_cts_dscr
  from ..utils.option_handler import get_option_specs, load_options
  from ..utils.reporters import get_reporter
label_desc: Use image node_id 5 for calling the GPFitter obj's underlying member method code with example usage: obj._set_up_mean_and_noise_variance_bounds() without return types