code: def modify_several_layers(
      nn, inc_or_dec, layer_group_desc, change_frac=_DFLT_CHANGE_FRAC
  ):
      """A function to increase or decrease several layers at the same time. inc_or_dec
      is a string with values 'increase' or 'decrease' and layer_group_desc is a string
      with one of the following values: '1/2', '2/2', '1/4', ... '4/4', '1/8', ... 8/8.
      """
      change_ratio = _get_change_ratio_from_change_frac(
          change_frac, inc_or_dec
      )
      modifiable_layers = _get_directly_modifable_layer_idxs(nn)
      num_modifiable_layers = len(modifiable_layers)
      # Now decide which groups to change
      num_groups = int(layer_group_desc[-1])
      group_idx = int(layer_group_desc[0])
      start_idx = (group_idx - 1) * num_modifiable_layers // num_groups
      end_idx = group_idx * num_modifiable_layers // num_groups
      modify_layer_idxs = modifiable_layers[start_idx:end_idx]
      modify_vals = [
          round(change_ratio * nn.num_units_in_each_layer[i])
          for i in modify_layer_idxs
      ]
      return change_num_units_in_layers(
          nn, modify_layer_idxs, modify_vals
      )
  
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 22 for calling a global function with example usage: modify_several_layers(nn, inc_or_dec, layer_group_desc, change_frac) and returns: change_num_units_in_layers