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. |
| Возвращает | |
|---|---|
Экземпляр tf.keras.initializers.Initializer. |
get_config
get_config()
Возвращает конфигурацию инициализатора в виде сериализуемого в формате JSON словаря.
| Возвращает | |
|---|---|
| Сериализуемый в формате JSON словарь Python. |
__call__
__call__(
shape, dtype=None, **kwargs
)
Возвращает тензорный объект, инициализированный в соответствии со спецификацией инициализатора.
| Аргументы | |
|---|---|
shape | Форма тензора. |
dtype | Необязательный тип данных тензора. Поддерживаются только типы с плавающей точкой. Если не указано, используется tf.keras.backend.floatx(), по умолчанию float32, если вы не настроили это иначе (через tf.keras.backend.set_floatx(float_dtype)) |
**kwargs | Дополнительные ключевые аргументы. |
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.9/api_docs/python/tf/keras/initializers/VarianceScaling