O inicializador Glorot, também chamado de inicializador Xavier.
Retira amostras de uma distribuição aleatória.
Se a distribuição for TRUNCATED_NORMAL, então a distribuição é centrada em 0 com stddev = Math.sqrt(2. / (fanIn + fanOut)) onde fanIn é o número de unidades de entrada no tensor de peso e fanOut é o número de unidades de saída em o tensor de peso.
Se a distribuição for UNIFORME, então as amostras são retiradas de uma distribuição uniforme dentro de [-limit, limit] , onde limit = sqrt(6 / (fanIn + fanOut)) ( fanIn é o número de unidades de entrada no tensor de peso e fanOut é o número de unidades de saída).
Exemplos:
Glorot Normal:
long seed = 1001l;
Glorot<TFloat32, TFloat32> initializer =
new org.tensorflow.framework.initializers.Glorot<>(tf,
Distribution.TRUNCATED_NORMAL, seed);
Operand<TFloat32> values =
initializer.call(tf.constant(Shape.of(2,2)), TFloat32.class);
Uniforme Glorot:
long seed = 1001l;
Glorot<TFloat32, TFloat32> initializer =
new org.tensorflow.framework.initializers.Glorot<>(tf,
Distribution.UNIFORM, seed);
Operand<TFloat32> values =
initializer.call(tf.constant(Shape.of(2,2)), TFloat32.class);
NOTA:
Para um inicializador equivalente GlorotNormal, use TRUNCATED_NORMAL para o parâmetro de distribuição.
Para um inicializador equivalente GlorotUniform, use UNIFORM para o parâmetro de distribuição.
Veja também
Constantes
| Duplo | ESCALA |
Constantes herdadas
Campos herdados
Construtores Públicos
Métodos herdados
Constantes
pública estática final dupla ESCALA
Construtores Públicos
public Glorot (Ops tf, VarianceScaling.Distribution distribution, long seed)
Cria um inicializador Glorot
Parâmetros
| tf | o TensorFlow Ops |
|---|---|
| distribuição | O tipo de distribuição para o inicializador Glorot. |
| semente | a semente para geração de números aleatórios. Um inicializador criado com uma determinada semente sempre produzirá o mesmo tensor aleatório para uma determinada forma e tipo de d. |