Spec-Zone.ru › TensorFlow

tf.compat.v1.constant_initializer

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

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

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

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

tf.compat.v1.initializers.constant

tf.compat.v1.constant_initializer(
    value=0,
    dtype=tf.dtypes.float32,
    verify_shape=False
)

Переход на TF2

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

Несмотря на то, что это API-точка устаревшего API, tf.compat.v1.constant_initializer совместима с выполнением eager и tf.function.

Чтобы перейти к API TF2, который не является устаревшим, используйте tf.constant_initializer вместо него. Аргумент dtype в tf.compat.v1.constantinitializer.init_() отсутствует в tf.constantinitializer.init_(). Однако вы можете указать dtype в __call__() в обоих случаях.

В символе compat.v1, если verify_shape установлено в True, при инициализации переменной с формой, отличной от value, возникает исключение. Если установлено в False, value будет переформатирован для инициализации переменной при необходимости. Исключение будет возникать только при разнице в количестве элементов.

Аргумент verify_shape не поддерживается в TF2. Использование tf.constant_initializer эквивалентно установке verify_shape в значение False.

Структурное отображение на TF2

До:

value = [0, 1, 2, 3, 4, 5, 6, 7]
initializer = tf.compat.v1.constant_initializer(
    value=value,
    dtype=tf.float32,
    verify_shape=False)
variable = tf.Variable(initializer(shape=[2, 4]))

После:

value = [0, 1, 2, 3, 4, 5, 6, 7]
initializer = tf.constant_initializer(value=value)
tf.Variable(initializer(shape=[2, 4], dtype=tf.float32))

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

Имя аргумента TF1 Имя аргумента TF2 Примечание
value value В конструкторе
dtype dtype В методе __call__()
verify_shape Не поддерживается Эквивалентно установке в значение False
partition_info - (аргумент __call__ в TF1) Не поддерживается

Пример использования до и после

До:

value = [1., 2., 3., 4.]
initializer = tf.compat.v1.constant_initializer(
    value=value, dtype=tf.float32, verify_shape=True)
tf.Variable(initializer(shape=[2, 2])).numpy()
Traceback (most recent call last):

TypeError: Expected Tensor's shape: (2, 2), got (4,).
initializer = tf.compat.v1.constant_initializer(
    value=value, dtype=tf.float32, verify_shape=False)
tf.Variable(initializer(shape=[2, 2])).numpy()
array([[1., 2.],
       [3., 4.]], dtype=float32)

После:

value = [1., 2., 3., 4.]
initializer = tf.constant_initializer(value=value)
tf.Variable(initializer(shape=[2, 2], dtype=tf.float32)).numpy()
array([[1., 2.],
       [3., 4.]], dtype=float32)

Описание

Используется в блокнотах

Используется в руководстве
  • Миграция контрольных точек модели
  • Использование моделей TF1.x в рабочих процессах TF2

Полученный тензор заполняется значениями типа dtype, как указано в аргументах value, соответствующих желаемой shape нового тензора (см. примеры ниже).

Аргумент value может быть постоянным значением или списком значений типа dtype. Если value является списком, то длина списка должна быть меньше или равна числу элементов, подразумеваемых желаемой формой тензора. В случае, если общее количество элементов в value меньше, чем количество элементов, необходимое для формы тензора, последний элемент в value будет использоваться для заполнения оставшихся записей. Если общее количество элементов в value больше, чем количество элементов, необходимое для формы тензора, инициализатор вызовет исключение ValueError.

Аргументы
value Скаляр Python, список или кортеж значений или N-мерный массив numpy. Все элементы инициализированной переменной будут установлены в соответствующее значение в аргументе value.
dtype Типовой тип данных по умолчанию, используется, если аргумент dtype не указан при вызове инициализатора.
verify_shape Логическое значение, которое включает проверку формы value. Если True, инициализатор выдаст ошибку, если форма value несовместима с формой инициализированного тензора.
Возможные исключения
TypeError Если входной value не является одним из ожидаемых типов.
Примеры
Следующий пример можно переписать, используя numpy.ndarray вместо списка value, даже переформатированного, как показано в двух комментариях ниже инициализации списка value.
value = [0, 1, 2, 3, 4, 5, 6, 7]
init = tf.compat.v1.constant_initializer(value)
# fitting shape
with tf.compat.v1.Session():
  x = tf.compat.v1.get_variable('x', shape=[2, 4], initializer=init)
  x.initializer.run()
  print(x.eval())
[[0. 1. 2. 3.]
 [4. 5. 6. 7.]]
# Larger shape
with tf.compat.v1.Session():
  y = tf.compat.v1.get_variable('y', shape=[3, 4], initializer=init)
  y.initializer.run()
  print(y.eval())
[[0.  1.  2.  3.]
 [4.  5.  6.  7.]
 [7.  7.  7.  7.]]
# Smaller shape
with tf.compat.v1.Session():
  z = tf.compat.v1.get_variable('z', shape=[2, 3], initializer=init)
Traceback (most recent call last):

ValueError: Too many elements provided. Needed at most 6, but received 8
# Shape verification
init_verify = tf.compat.v1.constant_initializer(value, verify_shape=True)
with tf.compat.v1.Session():
 u = tf.compat.v1.get_variable('u', shape=[3, 4],
                               initializer=init_verify)
Traceback (most recent call last):

TypeError: Expected Tensor's shape: (3, 4), got (8,).

Методы

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, partition_info=None, verify_shape=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/api_docs/python/tf/compat/v1/constant_initializer

Spec-Zone.ru

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