Missed TensorFlow Dev Summit? Check out the video playlist. Watch recordings

tfl.linear_layer.LinearConstraints

View source on GitHub

Applies monotonicity constraints and normalization to TFL Linear layer.

tfl.linear_layer.LinearConstraints(
    monotonicities, monotonic_dominances=None, range_dominances=None,
    input_min=None, input_max=None, normalization_order=None
)

Monotonicity is specified per input dimension in which case learned weight for those dimensions is guaranteed to be either non negative for increasing or non positive for decreasing monotonicity.

Monotonic dominance can be specified for any pair of dimensions referred to as dominant and weak dimensions such that the effect (slope) in the direction of the dominant dimension to be greater than that of the weak dimension for any point. Both dominant and weak dimensions must be increasing.

Range dominance can be specified for any pair of dominant and weak dimensions such that the range of possible outputs to be greater if one varies the dominant dimension than if one varies the weak dimension for any point. We require the slope of the dominant dimension scaled by its input range to be greater than the slope of the weak dimension similarly scaled by its input range. Both dimensions must have the same direction of monotonicity and their input min and max must be provided.

Weights can be constrained to have norm 1.

Args:

  • monotonicities: Same meaning as corresponding parameter of Linear.
  • monotonic_dominances: Same meaning as corresponding parameter of Linear.
  • range_dominances: Same meaning as corresponding parameter of Linear.
  • input_min: Same meaning as corresponding parameter of Linear.
  • input_max: Same meaning as corresponding parameter of Linear.
  • normalization_order: Same meaning as corresponding parameter of Linear.

Methods

__call__

View source

__call__(
    w
)

Applies constraints to w.

Args:

  • w: Tensor which represents weights of TFL linear layer. Must have shape: (len(self.monotonicities), 1).

Raises:

  • ValueError: if shape of w is not (len(self.monotonicities), 1).

Returns:

Tensor w with monotonicity constraints and normalization applied to it.

get_config

View source

get_config()

Standard Keras get_config() method.