Spec-Zone.ru › TensorFlow 2.4

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 Если значение истинно, каждый подграф градиента помещается в отдельную область компиляции. Это дает тонкую настройку контроля над тем, какие части графа будут скомпилированы как единица. Отдельная компиляция градиентов может обеспечить лучшую производительность для некоторых графов. Область действия называется на основе области действия вычисления вперёд, а также имени градиентов. В результате градиенты будут скомпилированы в области действия, которая отделена как от вычисления вперёд, так и от других градиентов.
Исключения
RuntimeError если вызов происходит, когда включено выполнение в режиме eager.
Возвращает
Текущая область действия, которая включает или отключает компиляцию.

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

Spec-Zone.ru

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