tfl.lattice_layer.LinearInitializer

Initializes a tfl.layers.Lattice as linear function.

  • The linear function will have positive coefficients for monotonic dimensions and 0 otherwise. If all dimensions are unconstrained, all coefficients will be positive.
  • Linear coefficients are set such that the minimum/maximum output of the lattice matches the given output_min/output_max.
  • Each monotonic dimension contributes with same weight regardless of number of vertices per dimension.
  • No dimension can be both monotonic and unimodal.
  • Unimodal dimensions contribute with same weight as monotonic dimensions.
  • Unimodal dimensions linearly decrease for first (dim_size + 1) // 2 vertices and then linearly increase for following vertices.

lattice_sizes Lattice sizes of tfl.layers.Lattice to initialize.
monotonicities Monotonic dimensions for initialization. Does not need to match monotonicities of tfl.layers.Lattice.
output_min Minimum layer output after initialization.
output_max Maximum layer output after initialization.
unimodalities None or unimodal dimensions after initialization. Does not need to match unimodalities of tfl.layers.Lattice.

ValueError If there is a mismatch between monotonicities and lattice_sizes.

Methods

from_config

Instantiates an initializer from a configuration dictionary.

Example:

initializer = RandomUniform(-1, 1)
config = initializer.get_config()
initializer = RandomUniform.from_config(config)

Args
config A Python dictionary, the output of get_config.

Returns
A tf.keras.initializers.Initializer instance.

get_config

View source

Standard Keras config for serialization.

__call__

View source

Returns weights of tfl.layers.Lattice layer.

Args
shape Must be: (prod(lattice_sizes), units).
dtype Standard Keras initializer param.
partition_info Standard Keras initializer param. Not used.