Spec-Zone.ru › TensorFlow 2.9

tf.compat.v1.keras.initializers.RandomUniform

Инициализатор, генерирующий тензоры с равномерным распределением.

Наследуется от: random_uniform_initializer

Просмотр псевдонимов

Псевдонимы для миграции

См. Руководство по миграции для получения более подробной информации.

tf.compat.v1.keras.initializers.random_uniform, tf.compat.v1.keras.initializers.uniform

tf.compat.v1.keras.initializers.RandomUniform(
    minval=-0.05,
    maxval=0.05,
    seed=None,
    dtype=tf.dtypes.float32
)

Миграция на TF2

Внимание: Этот API был разработан для TensorFlow v1. Продолжайте чтение, чтобы узнать, как мигрировать с этого API на эквивалент в чистом TensorFlow v2. См. Руководство по миграции TensorFlow v1 на TensorFlow v2 для получения инструкций по миграции остальной части вашего кода.

Несмотря на то, что это устаревший compat.v1 API, tf.compat.v1.keras.initializers.RandomUniform совместим с исполнением в режиме eager и tf.function.

Чтобы перейти к чистому TF2, переключитесь на использование tf.keras.initializers.RandomUniform (не из compat.v1), и если вам нужно изменить тип данных по умолчанию, используйте tf.keras.backend.set_floatx(float_dtype) или передайте тип данных при вызове инициализатора, а не при создании инициализатора.

Поведение случайного зерна:

Также обратите внимание, что если вы передадите зерно API инициализатора TF2, оно будет повторно использовать это же зерно для каждой инициализации (в отличие от инициализатора TF1).

Структурное отображение на чистый TF2

До:

initializer = tf.compat.v1.keras.initializers.RandomUniform(
  minval=minval,
  maxval=maxval,
  seed=seed,
  dtype=dtype)

weight_one = tf.Variable(initializer(shape_one))
weight_two = tf.Variable(initializer(shape_two))

После:

initializer = tf.keras.initializers.RandomUniform(
  minval=minval,
  maxval=maxval,
  # seed=seed,  # Setting a seed in the native TF2 API
                # causes it to produce the same initializations
                # across multiple calls of the same initializer.
  )

weight_one = tf.Variable(initializer(shape_one, dtype=dtype))
weight_two = tf.Variable(initializer(shape_two, dtype=dtype))

Как сопоставить аргументы

Имя аргумента TF1 Имя аргумента TF2 Примечание
minval minval Без изменений по умолчанию
maxval maxval Без изменений по умолчанию
seed seed Разные семантики генерации случайных чисел (для изменения в будущей версии). Если задано, версия TF2 будет использовать бессостоятельную генерацию случайных чисел, которая будет создавать точно такую же инициализацию даже при многократных вызовах экземпляра инициализатора. версия compat.v1 будет генерировать новые инициализации каждый раз. Не устанавливайте зерно, если вам нужны разные инициализации каждый раз. Вместо этого установите глобальное зерно tf с помощью tf.random.set_seed, если вам нужна детерминированность, или инициализируйте каждый вес с помощью отдельного экземпляра инициализатора и другого зерна.
dtype dtype Чистый API TF2 принимает его только как __call__ аргумент, а не аргумент конструктора.
partition_info - (__call__ аргумент в TF1) Не поддерживается

Пример различий в поведении фиксированного зерна

compat.v1 Поведение фиксированного зерна:

initializer = tf.compat.v1.keras.initializers.RandomUniform(seed=10)
a = initializer(shape=(2, 2))
b = initializer(shape=(2, 2))
tf.reduce_sum(a - b) == 0
<tf.Tensor: shape=(), dtype=bool, numpy=False>

После:

initializer = tf.keras.initializers.RandomUniform(seed=10)
a = initializer(shape=(2, 2))
b = initializer(shape=(2, 2))
tf.reduce_sum(a - b) == 0
<tf.Tensor: shape=(), dtype=bool, numpy=False>

Описание

Аргументы
minval Python-скаляр или скалярный тензор. Нижняя граница диапазона случайных значений для генерации.
maxval Python-скаляр или скалярный тензор. Верхняя граница диапазона случайных значений для генерации. По умолчанию равно 1 для типов с плавающей точкой.
seed Целое число Python. Используется для создания случайных семян. См. tf.compat.v1.set_random_seed для получения информации о поведении.
dtype Тип данных по умолчанию, используется, если аргумент dtype не передан при вызове инициализатора.

Методы

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/RandomUniform

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API