class_docstr: A Fitter for multi-fidelity GPs in Cartesian Product spaces. 
class_docstr_tok: ["A","Fitter","for","multi-fidelity","GPs","in","Cartesian","Product","spaces","."]
docstr: Builds a Cartesian product Multi-fidelity GP. 
docstr_tok: ["Builds","a","Cartesian","product","Multi-fidelity","GP","."]
code: def _child_build_gp(
      self,
      mean_func,
      noise_var,
      gp_cts_hps,
      gp_dscr_hps,
      other_gp_params=None,
      *args,
      **kwargs,
  ):
      """Builds a Cartesian product Multi-fidelity GP."""
      kernel_scale = np.exp(gp_cts_hps[0])
      gp_cts_hps = gp_cts_hps[1:]
      # Create kernels
      (
          fidel_space_kernel,
          gp_cts_hps,
          gp_dscr_hps,
      ) = _build_kernel_for_domain(
          self.fidel_space,
          "fidel",
          1.0,
          gp_cts_hps,
          gp_dscr_hps,
          other_gp_params,
          self.options,
          self.fidel_space_kernel_ordering,
          self.fidel_space_kernel_params_for_each_domain,
      )
      domain_kernel, gp_cts_hps, gp_dscr_hps = _build_kernel_for_domain(
          self.domain,
          "dom",
          1.0,
          gp_cts_hps,
          gp_dscr_hps,
          other_gp_params,
          self.options,
          self.domain_kernel_ordering,
          self.domain_kernel_params_for_each_domain,
      )
      # build the GP
      ret_gp = CPMFGP(
          self.ZZ,
          self.XX,
          self.YY,
          None,
          mean_func,
          noise_var,
          kernel_scale,
          fidel_space_kernel,
          domain_kernel,
          self.fidel_space_lists_of_dists,
          self.domain_lists_of_dists,
          *args,
          **kwargs,
      )
      return ret_gp, gp_cts_hps, gp_dscr_hps
  
imports: from __future__ import print_function
  from argparse import Namespace
  import numpy
  from ..exd import domains
  from ..exd.cp_domain_utils import load_cp_domain_from_config_file
  from .None import gp_core, mf_gp
  from .euclidean_gp import get_euclidean_integral_gp_kernel_with_scale, prep_euclidean_integral_kernel_hyperparams
  from .kernel import CartesianProductKernel, HammingKernel
  from ..utils.general_utils import get_idxs_from_list_of_lists
  from ..utils.option_handler import get_option_specs, load_options
  from ..utils.reporters import get_reporter
label_desc: Use image node_id 3 for calling the CPMFGPFitter obj's underlying member method code with example usage: obj._child_build_gp(mean_func, noise_var, gp_cts_hps, gp_dscr_hps, other_gp_params) and returns: ret_gp,  gp_cts_hps,  gp_dscr_hps