Spec-Zone.ru › TensorFlow

tf.raw_ops.MutexLock

Заблокировать ресурс мьютекса.

Псевдонимы

Альтернативные имена для миграции

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

tf.compat.v1.raw_ops.MutexLock

tf.raw_ops.MutexLock(
    mutex, name=None
)

На выходе находится блокировка. Пока тензор блокировки

существует, любой другой запрос на использование MutexLock с этим мьютексом будет ожидать.

Это особенно полезно для создания критической секции при использовании совместно с MutexLockIdentity:

mutex = mutex_v2(
  shared_name=handle_name, container=container, name=name)

def execute_in_critical_section(fn, *args, **kwargs):
  lock = gen_resource_variable_ops.mutex_lock(mutex)

  with ops.control_dependencies([lock]):
    r = fn(*args, **kwargs)

  with ops.control_dependencies(nest.flatten(r)):
    with ops.colocate_with(mutex):
      ensure_lock_exists = mutex_lock_identity(lock)

    # Make sure that if any element of r is accessed, all of
    # them are executed together.
    r = nest.map_structure(tf.identity, r)

  with ops.control_dependencies([ensure_lock_exists]):
    return nest.map_structure(tf.identity, r)

Пока fn выполняется в критической секции, никакие другие функции, которые хотят использовать эту критическую секцию, не могут выполняться.

Часто возникает ситуация, когда два выполнения одной и той же графы параллельно хотят выполнить fn; и нам нужно гарантировать, что только одно из них выполняется за раз. Это особенно важно, если fn изменяет одну или несколько переменных за раз.

Это также полезно, если две отдельные функции должны совместно использовать ресурс, но мы хотим гарантировать эксклюзивность использования.

Аргументы
mutex Ресурс мьютекса типа resource, который нужно заблокировать.
name Имя операции (необязательно).
Возвращаемое значение
Tensor типа variant.

© 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/raw_ops/MutexLock

Spec-Zone.ru

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