class_docstr: Unit tests for the Transport NNKernels. 
docstr: Testing computation of the lp distance. 
docstr_tok: ["Testing","computation","of","the","lp","distance","."]
code: def test_kernel_computation(self):
      """Testing computation of the lp distance."""
      self.report("Testing computed kernel values for specific cnns.")
      betas = [0.0001]
      scale = 2.1
      struct_coeffs = 1.0
      mislabel_coeffs = 1.0
      dist_type = "lp"
      tp_comp = otmann.OTMANNDistanceComputer(
          self.all_layer_labels,
          self.label_mismatch_penalty,
          self.non_assignment_penalty,
          otmann.CNN_STRUCTURAL_PENALTY_GROUPS,
          otmann.PATH_LENGTH_TYPES,
          dflt_mislabel_coeffs=mislabel_coeffs,
          dflt_struct_coeffs=struct_coeffs,
          dflt_dist_type=dist_type,
      )
      tp_kernel = otmann.get_otmann_kernel_from_params(
          "prod",
          self.all_layer_labels,
          self.label_mismatch_penalty,
          self.non_assignment_penalty,
          otmann.CNN_STRUCTURAL_PENALTY_GROUPS,
          otmann.PATH_LENGTH_TYPES,
          mislabel_coeffs,
          struct_coeffs,
          dist_type,
          betas,
          scale,
      )
      cnn_dists = tp_comp(self.cnns, self.cnns)
      cnn_kernel = tp_kernel(self.cnns)
      diff = np.linalg.norm(
          scale * np.exp(-cnn_dists[0] * betas[0]) - cnn_kernel
      )
      assert diff < np.linalg.norm(cnn_kernel) * 1e-6
  
imports: import numpy
  from .None import otmann
  from .unittest_neural_network import generate_cnn_architectures, generate_mlp_architectures
  from ..utils.ancillary_utils import get_list_of_floats_as_str
  from ..utils.base_test_class import BaseTestClass, execute_tests
label_desc: Use image node_id 3 for calling the DistProdNNKernelTestCase obj's underlying member method code with example usage: obj.test_kernel_computation() without return types