Spec-Zone.ru › TensorFlow

tf.init_scope

Менеджер контекста, который выносит операции за пределы областей потока управления и графов построения функций.

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

Совместимые псевдонимы для миграции

Подробнее см. в руководстве по миграции.

tf.compat.v1.init_scope

@tf_contextlib.contextmanager
tf.init_scope() -> Iterator[None]

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

Используется в руководстве Используется в учебных материалах
  • Повышение производительности с помощью tf.function
  • Предварительная обработка данных с помощью TensorFlow Transform

Часто требуется выносить операции инициализации переменных за пределы областей потока управления, графов построения функций и записывающих градиенты лент. Вход в init_scope позволяет удовлетворить этим требованиям. В частности, вход в init_scope имеет три эффекта:

(1) При входе в область все зависимости управления сбрасываются; это эквивалентно входу в менеджер контекста, возвращаемый control_dependencies(None), который побочно приводит к выходу из областей потока управления, таких как tf.cond и tf.while_loop.

(2) Все операции, созданные во время активности области, переносятся в ближайший внешний контекст в context_stack, который не строит граф функции. Здесь контекст определяется как граф или eager-контекст. Каждое переключение контекста, то есть каждая установка графа в качестве графа по умолчанию и каждое переключение в режим eager, записывается в локальном для потока стеке под названием context_switches; запись о переключении контекста извлекается из стека при выходе из контекста. Вход в init_scope эквивалентен подъему по context_switches, поиску первого контекста, который не строит граф функции, и входу в него. Следует учитывать, что если включен режим графов, но стек графов по умолчанию пуст, то вход в init_scope просто установит новый граф в качестве графа по умолчанию.

(3) На время активности области запись градиентов на ленту приостанавливается.

Если выполнение в eager-режиме включено, код внутри блока init_scope выполняется в eager-режиме, даже при трассировке tf.function. Например:

tf.compat.v1.enable_eager_execution()

@tf.function
def func():
  # A function constructs TensorFlow graphs,
  # it does not execute eagerly.
  assert not tf.executing_eagerly()
  with tf.init_scope():
    # Initialization runs with eager execution enabled
    assert tf.executing_eagerly()
Вызывает исключение
RuntimeError если состояние графа несовместимо с этой инициализацией.

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

Spec-Zone.ru

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