Spec-Zone.ru › TensorFlow 2.9

tf.compat.v1.keras.initializers.Constant

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

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

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

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

tf.compat.v1.constant_initializer, tf.compat.v1.initializers.constant, tf.compat.v1.keras.initializers.constant

tf.compat.v1.keras.initializers.Constant(
    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 и tf.function.

Для миграции на API TF2 без устаревшего кода, пожалуйста, используйте tf.constantinitializer вместо этого. Аргумент dtype в <a href="../../../../../tf/compat/v1/keras/initializers/Constant#init_">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)

Описание

Результирующий тензор заполняется значениями типа 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/versions/r2.9/api_docs/python/tf/compat/v1/keras/initializers/Constant

Spec-Zone.ru

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