class_docstr: A distance between neural networks based on solving a transportation problem. 
docstr: Constructor. 
docstr_tok: ["Constructor","."]
code: def __init__(
      self,
      all_layer_labels,
      label_mismatch_penalty,
      non_assignment_penalty,
      structural_penalty_groups,
      path_length_types,
      dflt_mislabel_coeffs=None,
      dflt_struct_coeffs=None,
      dflt_dist_type=None,
      connectivity_diff_cost_function=DFLT_CONN_COST_FUNC,
  ):
      """Constructor."""
      super(OTMANNDistanceComputer, self).__init__()
      self.all_layer_labels = all_layer_labels
      self.label_mismatch_penalty = label_mismatch_penalty
      self.non_assignment_penalty = non_assignment_penalty
      self.structural_penalty_groups = structural_penalty_groups
      self.path_length_types = path_length_types
      self.all_path_length_categories = [
          x + "-" + y
          for x in self.structural_penalty_groups
          for y in self.path_length_types
      ]
      self.dflt_mislabel_coeffs = dflt_mislabel_coeffs
      self.dflt_struct_coeffs = dflt_struct_coeffs
      self.dflt_dist_type = dflt_dist_type
      self._set_up_connectivity_cost_function(
          connectivity_diff_cost_function
      )
  
imports: import numpy
  from .None import neural_network
  from ..gp.kernel import ExpSumOfDistsKernel, SumOfExpSumOfDistsKernel
  from ..utils.oper_utils import opt_transport
label_desc: Use image node_id 1 to create a new OTMANNDistanceComputer object from inherited base classes: NNDistanceComputer with example: obj = OTMANNDistanceComputer(all_layer_labels, label_mismatch_penalty, non_assignment_penalty, structural_penalty_groups, path_length_types, dflt_mislabel_coeffs, dflt_struct_coeffs, dflt_dist_type, connectivity_diff_cost_function)