Neural Network Definition

class omlt.neuralnet.network_definition.NetworkDefinition(scaling_object=None, scaled_input_bounds=None, unscaled_input_bounds=None)[source]

Bases: object

add_edge(from_layer, to_layer)[source]

Add an edge between two layers.

Parameters:
  • from_layer (Layer) – the layer with the outbound connection

  • to_layer (Layer) – the layer with the inbound connection

add_layer(layer)[source]

Add a layer to the network.

Parameters:

layer (Layer) – the layer to add to the network

property input_layers

Return an iterator over the input layers

property input_nodes

An alias for input_layers

layer(layer_id)[source]

Return the layer with the given id

property layers

Return an iterator over all the layers

property output_layers

Return an iterator over the output layer

property output_nodes

An alias for output_layers

predecessors(layer)[source]

Return an iterator over the layers with outbound connections into the layer

property scaled_input_bounds

Return a dict of tuples containing lower and upper bounds of neural network inputs

property scaling_object

Return an instance of the scaling object that supports the ScalingInterface

successors(layer)[source]

Return an iterator over the layers with an inbound connection from the layer

property unscaled_input_bounds

Return a dict of tuples containing lower and upper bounds of unscaled neural network inputs