class_docstr: Fits a GP by tuning the kernel hyper-params. 
docstr: Returns a dictionary of kernel options. 
docstr_tok: ["Returns","a","dictionary","of","kernel","options","."]
code: def _get_nn_gp_kernel_options(self):
      """Returns a dictionary of kernel options."""
      to_copy_over_from_self = [
          "num_mislabel_struct_coeffs",
          "mislabel_coeffs",
          "struct_coeffs",
          "to_tune_mislabel_struct_coeffs",
      ]
      to_copy_over_from_options = [
          "dist_type",
          "lp_power",
          "emd_power",
          "non_assignment_penalty",
      ]
      kernel_options = {}
      for elem in to_copy_over_from_self:
          kernel_options[elem] = getattr(self, elem)
      for elem in to_copy_over_from_options:
          kernel_options[elem] = getattr(self.options, elem)
      return kernel_options
  
imports: import numpy
  from .None import otmann
  from ..gp import gp_core
  from ..utils.ancillary_utils import get_list_of_floats_as_str
  from ..utils.reporters import get_reporter
  from ..utils.option_handler import get_option_specs, load_options
label_desc: Use image node_id 4 for calling the NNGPFitter obj's underlying member method code with example usage: obj._get_nn_gp_kernel_options() and returns: kernel_options