tf.compat.v1.keras.initializers.lecun_uniform
Инициализатор, способный адаптировать свой масштаб к форме тензоров весов.
Наследуется от: VarianceScaling
tf.compat.v1.keras.initializers.lecun_uniform(
seed=None
)
Переход на TF2
Несмотря на то, что это устаревший compat.v1 API, этот символ совместим с выполнением в режиме eager и tf.function.
Чтобы перейти к API TF2, используйте tf.initializers.variance_scaling или tf.keras.initializers.VarianceScaling (ни один из них не из compat.v1) и передайте dtype при вызове инициализатора.
Структурное отображение на TF2
До:
initializer = tf.compat.v1.variance_scaling_initializer( scale=scale, mode=mode, distribution=distribution seed=seed, dtype=dtype) weight_one = tf.Variable(initializer(shape_one)) weight_two = tf.Variable(initializer(shape_two))
После:
initializer = tf.keras.initializers.VarianceScaling( scale=scale, mode=mode, distribution=distribution seed=seed) weight_one = tf.Variable(initializer(shape_one, dtype=dtype)) weight_two = tf.Variable(initializer(shape_two, dtype=dtype))
Как сопоставить аргументы
| Имя аргумента TF1 | Имя аргумента TF2 | Примечание |
|---|---|---|
scale | scale | Без изменений по умолчанию |
mode | mode | Без изменений по умолчанию |
distribution |
distribution | Без изменений по умолчанию. 'normal' отображается как 'truncated_normal' |
seed | seed | |
dtype |
dtype | API TF2 принимает его только как аргумент __call__, а не как аргумент конструктора. |
partition_info | - | (аргумент __call__ в TF1) Не поддерживается |
Описание
С 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).
| Аргументы | |
|---|---|
scale | Коэффициент масштабирования (положительное число с плавающей точкой). |
mode | Одно из "fan_in", "fan_out", "fan_avg". |
distribution | Случайное распределение. Одно из "normal", "uniform". |
seed | Целое число Python. Используется для создания случайных семян. См. tf.compat.v1.set_random_seed для получения информации о поведении. |
dtype | Тип данных по умолчанию, используемый, если аргумент dtype не предоставлен при вызове инициализатора. Поддерживаются только типы с плавающей точкой. |
| Исключения | |
|---|---|
ValueError | В случае неверного значения для аргументов "scale", "mode" или "distribution". |
Методы
from_config
@classmethod
from_config(
config
)
Инициализирует инициализатор из словаря конфигурации.
Пример:
initializer = RandomUniform(-1, 1) config = initializer.get_config() initializer = RandomUniform.from_config(config)
| Аргументы | |
|---|---|
config | Словарь Python. Обычно это результат get_config. |
| Возвращаемое значение | |
|---|---|
| Экземпляр инициализатора. |
get_config
get_config()
Возвращает конфигурацию инициализатора в виде сериализуемого в формате JSON словаря.
| Возвращаемое значение | |
|---|---|
| Сериализуемый в формате JSON словарь Python. |
__call__
__call__(
shape, dtype=None, partition_info=None
)
Возвращает тензор, инициализированный в соответствии с настройками инициализатора.
| Аргументы | |
|---|---|
shape | Форма тензора. |
dtype | Необязательный тип данных тензора. Если не указан, используется тип данных инициализатора. |
partition_info | Необязательная информация о возможном разбиении тензора. |
© 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/compat/v1/keras/initializers/lecun_uniform