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 на встроенный эквивалент TensorFlow v2. Инструкции по миграции остального кода см. в руководстве по миграции с TensorFlow v1 на TensorFlow v2.

Несмотря на то, что это устаревшая конечная точка API, tf.compat.v1.constant_initializer совместима с eager execution и 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.

Возвращает
Словарь Python, сериализуемый в JSON.

__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