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: Необязательная строка устройства, указывающая, где следует кэшировать Variable для чтения. По умолчанию используется устройство Variable. Если значение не равно
None, кэширование выполняется на другом устройстве. Обычно кэшируют на устройстве, где находятся Ops, использующие Variable, чтобы избежать дублирования копирования черезSwitchи другие условные операторы. - name: Необязательное имя переменной. По умолчанию используется
'Variable'; имя автоматически делается уникальным. - dtype: Если задано, initial_value будет преобразовано к указанному типу. Если равно
None, тип данных либо останется прежним (еслиinitial_value— Tensor), либо будет выбран с помощьюconvert_to_tensor. - constraint: Функция ограничения, применяемая к переменной после обновлений некоторыми алгоритмами.
- use_resource: Если True, всегда создается ResourceVariable.
- synchronization: Указывает, когда будет выполняться агрегирование распределенной переменной. Допустимые значения — константы, определенные в классе
tf.VariableSynchronization. По умолчанию для synchronization установлено значение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/compat/v1/variable_creator_scope