Spec-Zone.ru › TensorFlow 2.9

tf.xla.experimental.jit_scope

Просмотр исходного кода на GitHub

Включить или выключить JIT-компиляцию операторов в области видимости.

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

Псевдонимы для миграции

См. Руководство по миграции для получения дополнительных сведений.

tf.compat.v1.xla.experimental.jit_scope

@contextlib.contextmanager
tf.xla.experimental.jit_scope(
    compile_ops=True, separate_compiled_gradients=False
)
Примечание: Это экспериментальная функция.

Компиляция — это подсказка и поддерживается только по возможности.

Пример использования:

with tf.xla.experimental.jit_scope():
  c = tf.matmul(a, b)  # compiled
with tf.xla.experimental.jit_scope(compile_ops=False):
  d = tf.matmul(a, c)  # not compiled
with tf.xla.experimental.jit_scope(
    compile_ops=lambda node_def: 'matmul' in node_def.op.lower()):
  e = tf.matmul(a, b) + d  # matmul is compiled, the addition is not.

Пример separate_compiled_gradients:

# In the example below, the computations for f, g and h will all be compiled
# in separate scopes.
with tf.xla.experimental.jit_scope(
    separate_compiled_gradients=True):
  f = tf.matmul(a, b)
g = tf.gradients([f], [a, b], name='mygrads1')
h = tf.gradients([f], [a, b], name='mygrads2')

Операции, которые не находятся в области видимости, могут быть сгруппированы и скомпилированы с операциями в области видимости с compile_ops=True, в то время как операции в области видимости с compile_ops=False никогда не будут скомпилированы.

Например:

# In the example below, x and loss may be clustered and compiled together,
# while y will not be compiled.
with tf.xla.experimental.jit_scope():
  x = tf.matmul(a, b)
with tf.xla.experimental.jit_scope(compile_ops=False):
  y = tf.matmul(c, d)
loss = x + y

Если вы хотите скомпилировать только операции в области видимости с compile_ops=True, рассмотрите добавление внешней jit_scope(compile_ops=False):

# In the example below, only x will be compiled.
with tf.xla.experimental.jit_scope(compile_ops=False):
  with tf.xla.experimental.jit_scope():
    x = tf.matmul(a, b)
  y = tf.matmul(c, d)
  loss = x + y
Аргументы
compile_ops Включить или выключить компиляцию в области видимости. Либо булевское значение Python, либо вызываемая функция, которая принимает параметр node_def и возвращает булевское значение Python.
separate_compiled_gradients Если true, каждый подграф градиента помещается в отдельную область компиляции. Это обеспечивает точный контроль над тем, какие части графа будут скомпилированы как единое целое. Отдельная компиляция градиентов может обеспечить лучшую производительность для некоторых графиков. Область видимости называется на основе области видимости вычислений в прямом направлении, а также имени градиентов. В результате градиенты будут скомпилированы в области видимости, которая отделена как от вычислений в прямом направлении, так и от других градиентов.
Исключения
RuntimeError если вызывается при включённом режиме выполнения eager.
Возвращаемые значения
Текущая область видимости, включающая или отключающая компиляцию.

© 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/versions/r2.9/api_docs/python/tf/xla/experimental/jit_scope

Spec-Zone.ru

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