View source on GitHub

Initializer that generates a 2D orthogonal kernel for ConvNets.

The shape of the tensor must have length 4. The number of input filters must not exceed the number of output filters. The orthogonality(==isometry) is exact when the inputs are circular padded. There are finite-width effects with non-circular padding (e.g. zero padding). See algorithm 1 in (Xiao et al., 2018).

gain Multiplicative factor to apply to the orthogonal matrix. Default is 1. This has the effect of scaling the output 2-norm by a factor of gain.
seed A Python integer. Used to create random seeds. See tf.compat.v1.set_random_seed for behavior.
dtype Default data type, used if no dtype argument is provided when calling the initializer. Only floating point types are supported.


Xiao et al., 2018 (pdf)



View source

Instantiates an initializer from a configuration dictionary.


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

config A Python dictionary. It will typically be the output of get_config.

An Initializer instance.


View source

Returns the configuration of the initializer as a JSON-serializable dict.

A JSON-serializable Python dict.


View source

Returns a tensor object initialized as specified by the initializer.

shape Shape of the tensor.
dtype Optional dtype of the tensor. If not provided use the initializer dtype.
partition_info Optional information about the possible partitioning of a tensor.