Class LeCun<T extends TFloating>

Type Parameters:
T - The TType for the call operation
All Implemented Interfaces:
Initializer<T>

public class LeCun<T extends TFloating> extends VarianceScaling<T>
LeCun normal initializer.

Draws samples from a random distribution. * *

If the distribution is TRUNCATED_NORMAL, it draws samples from a truncated normal distribution centered on 0 with stddev = sqrt(1 / fanIn) where fanIn is the number of input units in the weight tensor.

If the distribution is UNIFORM, it draws samples from a uniform distribution within [-limit, limit], where limit = Math.sqrt(3 / fanIn) (fanIn is the number of input units in the weight tensor)

Examples:

LeCun Normal:

     long seed = 1001l;
     LeCunNormal<TFloat32, TFloat32> initializer =
             new org.tensorflow.framework.initializers.LeCunNormal<>(tf,
              Distribution.TRUNCATED_NORMAL, seed);
     Operand<TFloat32> values =
             initializer.call(Ops tf, tf.constant(Shape.of(2,2)), TFloat32.class);

LeCun Uniform:

     long seed = 1001l;
     LeCunNormal<TFloat32, TFloat32> initializer =
             new org.tensorflow.framework.initializers.LeCunNormal<>(tf,
              Distribution.UNIFORM, seed);
     Operand<TFloat32> values =
             initializer.call(Ops tf, tf.constant(Shape.of(2,2)), TFloat32.class);
*

NOTE: *

For a LeCunNormal equivalent initializer, use VarianceScaling.Distribution.TRUNCATED_NORMAL for the distribution parameter. *

For a LeCunUniform equivalent initializer, use VarianceScaling.Distribution.UNIFORM * for the distribution parameter. *

See Also:
  • Constructor Details

    • LeCun

      public LeCun(VarianceScaling.Distribution distribution, long seed)
      Creates a LeCunNormal Initializer
      Parameters:
      distribution - The distribution type for the Glorot initializer.
      seed - the seed for random number generation. An initializer created with a given seed will always produce the same random tensor for a given shape and dtype.