code: def get_copies_from_old_nn(nn):
      """Gets copies of critical parameters of the old network."""
      layer_labels = deepcopy(nn.layer_labels)
      num_units_in_each_layer = deepcopy(nn.num_units_in_each_layer)
      conn_mat = deepcopy(nn.conn_mat)
      mandatory_child_attributes = Namespace()
      for mca_str in nn.mandatory_child_attributes:
          mca_val = deepcopy(getattr(nn, mca_str))
          setattr(mandatory_child_attributes, mca_str, mca_val)
      return (
          layer_labels,
          num_units_in_each_layer,
          conn_mat,
          mandatory_child_attributes,
      )
  
imports: from argparse import Namespace
  from copy import deepcopy
  import numpy
  from .neural_network import ConvNeuralNetwork, MultiLayerPerceptron, MLP_RECTIFIERS, MLP_SIGMOIDS, is_a_pooling_layer_label, is_a_conv_layer_label, CNNImageSizeMismatchException, CNNNoConvAfterIPException
  from ..utils.general_utils import reorder_list_or_array, reorder_rows_and_cols_in_matrix
  from ..utils.option_handler import get_option_specs, load_options
  from ..utils.reporters import get_reporter
label_desc: Use image node_id 1 for calling a global function with example usage: get_copies_from_old_nn(nn) and returns: layer_labels,  num_units_in_each_layer,  conn_mat,  mandatory_child_attributes