Spec-Zone.ru › TensorFlow 2.3

tf.compat.v1.variable_creator_scope

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

@tf_contextlib.contextmanager
tf.compat.v1.variable_creator_scope(
    variable_creator
)

variable_creator ожидается как функция со следующим сигнатуром:

def variable_creator(next_creator, **kwargs)

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

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

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

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

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

Args
variable_creator переданный создатель

Возвращает:

Область, в которой активен создатель

© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/compat/v1/variable_creator_scope

Spec-Zone.ru

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