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: Значение
Tensorили Python-объект, преобразуемый в значениеTensor, которое является начальным значением для Variable. Начальное значение должно иметь указанную форму, если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 | переданный создатель |
| Возвращает | |
|---|---|
| Область, в которой активен создатель |
© 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/variable_creator_scope