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 типа Tensor. Ресурс мьютекса, который нужно заблокировать.
name Имя операции (необязательно).
Возвращает
variant типа Tensor.

© 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