class_docstr: Unit tests for the NeuralNetwork test class. 
docstr: Prints the path length types. 
docstr_tok: ["Prints","the","path","length","types","."]
code: def _print_path_lengths(self, nns, fwd_or_bkwd, path_length_types):
      """Prints the path length types."""
      # pylint: disable=protected-access
      # disabling this because this property should be private but printing this out during
      # a test might help catch some bugs.
      for idx, nn in enumerate(nns):
          self.report(
              "%s-%d:: #layers=%d, #edges=%d."
              % (nn.nn_class, idx, nn.num_layers, nn.conn_mat.sum()),
              "test_result",
          )
          if fwd_or_bkwd == "fwd":
              curr_path_lengths = nn._fwd_dists_to_op
          elif fwd_or_bkwd == "bkwd":
              curr_path_lengths = nn._bkwd_dists_to_ip
          else:
              curr_path_lengths = None
          # Print them out
          for plt in path_length_types:
              self.report(
                  "  %s[%s]: %s."
                  % (fwd_or_bkwd, plt, curr_path_lengths[plt]),
                  "test_result",
              )
  
file_path: dragonfly/dragonfly/nn/unittest_neural_network.py
imports: import numpy
  from .None import neural_network
  from .nn_examples import generate_cnn_architectures, generate_mlp_architectures
  from ..utils.base_test_class import BaseTestClass, execute_tests
  from ..utils.graph_utils import apsp_floyd_warshall_costs
label_desc: Use image node_id 2 for calling the NeuralNetworkTestCase obj's underlying member method code with example usage: obj._print_path_lengths(nns, fwd_or_bkwd, path_length_types) without return types