class_docstr: This class is used to build reduced-space formulations
  of neural networks.
  
  Parameters
  ----------
  network_structure : NetworkDefinition
      the neural network definition
  activation_functions : dict-like or None
      overrides the actual functions used for particular activations
class_docstr_tok: ["This","class","is","used","to","build","reduced-space","formulations","of","neural","networks",".","Parameters","--","--","--","--","--","network_structure",":","NetworkDefinition","the","neural","network","definition","activation_functions",":","dict-like","or","None","overrides","the","actual","functions","used","for","particular","activations"]
code: def __init__(self, network_structure, activation_functions=None):
      super().__init__()
  
      self.__network_definition = network_structure
      self.__scaling_object = network_structure.scaling_object
      self.__scaled_input_bounds = network_structure.scaled_input_bounds
  
      # TODO: look into increasing support for other layers / activations
      # self._layer_constraints = {**_DEFAULT_LAYER_CONSTRAINTS, **layer_constraints}
      self._activation_functions = dict(
          self._supported_default_activation_functions()
      )
      if activation_functions is not None:
          self._activation_functions.update(activation_functions)
  
imports: import numpy
  import pyomo.environ
  from omlt.formulation import _PyomoFormulation, _setup_scaled_inputs_outputs
  from omlt.neuralnet.activations import ACTIVATION_FUNCTION_MAP
  from omlt.neuralnet.activations import ComplementarityReLUActivation, bigm_relu_activation_constraint, linear_activation_constraint, linear_activation_function, sigmoid_activation_constraint, sigmoid_activation_function, softplus_activation_constraint, softplus_activation_function, tanh_activation_constraint, tanh_activation_function
  from omlt.neuralnet.layer import ConvLayer2D, DenseLayer, InputLayer, PoolingLayer2D
  from omlt.neuralnet.layers.full_space import full_space_conv2d_layer, full_space_dense_layer, full_space_maxpool2d_layer
  from omlt.neuralnet.layers.partition_based import default_partition_split_func, partition_based_dense_relu_layer
  from omlt.neuralnet.layers.reduced_space import reduced_space_dense_layer
label_desc: Use image node_id 1 to create a new ReducedSpaceNNFormulation object from inherited base classes: _PyomoFormulation with example: obj = ReducedSpaceNNFormulation(network_structure, activation_functions)