Spec-Zone.ru › TensorFlow

tf.xla.experimental.jit_scope

Включить или отключить 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-переменная bool, либо вызываемая функция, которая принимает параметр node_def и возвращает Python-переменную bool.
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/api_docs/python/tf/xla/experimental/jit_scope

Spec-Zone.ru

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