tf.keras.initializers.VarianceScaling
Инициализатор, способный адаптировать свой масштаб к форме тензоров весов.
Наследуется от: Initializer
tf.keras.initializers.VarianceScaling(
scale=1.0, mode='fan_in', distribution='truncated_normal', seed=None
)
Также доступен через функцию-обёртку tf.keras.initializers.variance_scaling.
С помощью distribution="truncated_normal" or "untruncated_normal", выборки производятся из усечённого/неусечённого нормального распределения со средним значением ноль и стандартным отклонением (после усечения, если используется) stddev = sqrt(scale / n), где n:
- число входных единиц в тензоре весов, если
mode="fan_in" - число выходных единиц, если
mode="fan_out" - среднее значение числа входных и выходных единиц, если
mode="fan_avg"
С помощью distribution="uniform", выборки производятся из равномерного распределения в пределах [-limit, limit], где limit = sqrt(3 * scale / n).
Примеры:
# Standalone usage: initializer = tf.keras.initializers.VarianceScaling( scale=0.1, mode='fan_in', distribution='uniform') values = initializer(shape=(2, 2))
# Usage in a Keras layer: initializer = tf.keras.initializers.VarianceScaling( scale=0.1, mode='fan_in', distribution='uniform') layer = tf.keras.layers.Dense(3, kernel_initializer=initializer)
| Аргументы | |
|---|---|
scale | Коэффициент масштабирования (положительное число с плавающей точкой). |
mode | Одно из "fan_in", "fan_out", "fan_avg". |
distribution | Использовать распределение случайных величин. Одно из "truncated_normal", "untruncated_normal" и "uniform". |
seed | Целое число Python. Инициализатор, созданный с заданным зерном, всегда будет генерировать тот же случайный тензор для заданной формы и типа данных. |
Методы
from_config
@classmethod
from_config(
config
)
Инициализирует инициализатор по словарю настроек.
Пример:
initializer = RandomUniform(-1, 1) config = initializer.get_config() initializer = RandomUniform.from_config(config)
| Аргументы | |
|---|---|
config | Словарь Python. Обычно это результат get_config. |
| Возвращаемые значения | |
|---|---|
| Экземпляр Initializer. |
get_config
get_config()
Возвращает конфигурацию инициализатора в виде сериализуемого в JSON словаря.
| Возвращаемые значения | |
|---|---|
| Сериализуемый в JSON словарь Python. |
__call__
__call__(
shape, dtype=None
)
Возвращает тензорный объект, инициализированный согласно спецификации инициализатора.
| Аргументы | |
|---|---|
shape | Форма тензора. |
dtype | Необязательный тип данных тензора. Поддерживаются только типы с плавающей запятой. Если не указано, используется tf.keras.backend.floatx(), который по умолчанию равен float32, если вы не настроите его иначе (через tf.keras.backend.set_floatx(float_dtype)) |
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/keras/initializers/VarianceScaling