Spec-Zone.ru › TensorFlow

tf.variable_creator_scope

Область, определяющая функцию создания переменной, используемую функцией variable().

@tf_contextlib.contextmanager
tf.variable_creator_scope(
    variable_creator
)

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

Используется в руководстве
  • Проверка правильности и числового эквивалента

Ожидается, что variable_creator будет функцией со следующей подписью:

def variable_creator(next_creator, **kwargs)

Создатель должен в конечном итоге вызвать next_creator для создания переменной, если он хочет создать переменную, а не вызывать непосредственно Variable или ResourceVariable. Это помогает сделать создателей композиционными. Создатель может выбрать создание нескольких переменных, вернуть уже существующие переменные или просто зарегистрировать, что переменная была создана, и передать управление следующим создателям в очереди. Создатели также могут изменять ключевые аргументы, видимые следующими создателями.

Пользовательские методы получения в области переменной в конечном итоге приведут к этим пользовательским создателям, когда они создают переменные.

Действительные ключевые аргументы в kwds:

  • initial_value: Tensor или Python-объект, преобразуемый в Tensor, представляющий начальное значение переменной. Начальное значение должно иметь заданную форму, если не validate_shape установлено в False. Также может быть вызываемой функцией без аргументов, возвращающей начальное значение при вызове. В этом случае необходимо указать dtype. (Обратите внимание, что функции инициализатора из init_ops.py должны быть связаны с формой перед использованием здесь.)
  • trainable: Если True, по умолчанию, GradientTapes автоматически отслеживают использование этой переменной.
  • validate_shape: Если False, позволяет переменной быть инициализированной значением неизвестной формы. Если True, по умолчанию, форма initial_value должна быть известна.
  • caching_device: Необязательная строка устройства, описывающая, где переменная должна быть кэширована для чтения. По умолчанию это устройство переменной. Если не None, кэшируется на другом устройстве. Типичное использование — кэширование на устройстве, на котором находятся операции, использующие переменную, для исключения копирования через Switch и другие условные операторы.
  • name: Необязательное имя переменной. По умолчанию это 'Variable' и оно автоматически уникализируется. dtype: Если задано, initial_value будет преобразовано в заданный тип. Если None, либо тип данных будет сохранён (если initial_value — это тензор), либо convert_to_tensor примет решение.
  • constraint: Функция ограничения, применяемая к переменной после обновлений некоторыми алгоритмами.
  • synchronization: Указывает, когда распределённая переменная будет агрегирована. Допустимые значения — константы, определённые в классе tf.VariableSynchronization. По умолчанию синхронизация установлена в AUTO, и текущий DistributionStrategy выбирает, когда синхронизироваться.
  • aggregation: Указывает, как распределённая переменная будет агрегирована. Допустимые значения — константы, определённые в классе tf.VariableAggregation.

Этот набор может расти со временем, поэтому важно, чтобы подпись создателей была такой, как указано выше.

Аргументы
variable_creator Переданный создатель
Возвращаемое значение
Область, в которой активен создатель

© 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/variable_creator_scope

Spec-Zone.ru

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