code: def test_input_bound_scaling_1D():
      xoffset = {i: float(i) for i in range(3)}
      xfactor = {i: 0.5 * (i + 1) for i in range(3)}
      yoffset = {i: -0.25 * i for i in range(2)}
      yfactor = {i: 0.125 * (i + 1) for i in range(2)}
  
      scaler = OffsetScaling(
          offset_inputs=xoffset,
          factor_inputs=xfactor,
          offset_outputs=yoffset,
          factor_outputs=yfactor,
      )
  
      scaled_input_bounds = {0: (0, 5), 1: (-2, 2), 2: (0, 1)}
      unscaled_input_bounds = {}
  
      for k in scaled_input_bounds.keys():
          lb, ub = scaled_input_bounds[k]
          unscaled_input_bounds[k] = (
              (lb * xfactor[k]) + xoffset[k],
              (ub * xfactor[k]) + xoffset[k],
          )
  
      net = NetworkDefinition(
          scaler,
          scaled_input_bounds=None,
          unscaled_input_bounds=unscaled_input_bounds,
      )
      assert net.scaled_input_bounds == scaled_input_bounds
  
file_path: OMLT/tests/neuralnet/test_network_definition.py
imports: import numpy
  import pyomo.environ
  import pytest
  from omlt.block import OmltBlock
  from omlt.neuralnet.layer import DenseLayer, InputLayer
  from omlt.neuralnet.network_definition import NetworkDefinition
  from omlt.neuralnet.nn_formulation import FullSpaceNNFormulation
  from omlt.scaling import OffsetScaling
label_desc: Use image node_id 3 for calling a global function with example usage: test_input_bound_scaling_1D() without return types