MutexLock

genel final sınıfı MutexLock

Mutex kaynağını kilitler. Çıkış kilittir. Kilit tensörü olduğu sürece

hayattaysa, bu mutex ile 'MutexLock'u kullanmaya yönelik diğer istekler bekleyecektir.

Bu, 'MutexLockIdentity' ile birlikte kullanıldığında kritik bir bölüm oluşturmak için özellikle kullanışlıdır:

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)
 
Kritik bölümde 'fn' çalışırken bu kritik bölümü kullanmak isteyen başka hiçbir fonksiyon çalışmaz.

Genellikle kullanım durumu, aynı grafiğin iki uygulamasının paralel olarak 'fn'yi çalıştırmak istemesidir; ve aynı anda yalnızca birinin yürütülmesini sağlamak istiyoruz. Bu özellikle eğer 'fn' bir kerede bir veya daha fazla değişkeni değiştiriyorsa önemlidir.

İki ayrı işlevin bir kaynağı paylaşması gerekiyorsa da bu yararlıdır, ancak kullanımın özel olmasını sağlamak istiyoruz.

Sabitler

Sicim OP_NAME Bu operasyonun TensorFlow çekirdek motoru tarafından bilinen adı

Genel Yöntemler

Çıkış < TType >
Çıkış olarak ()
Tensörün sembolik tutamacını döndürür.
Statik MutexLock
create ( Kapsam kapsamı, İşlenen <?> muteks)
Yeni bir MutexLock işlemini saran bir sınıf oluşturmak için fabrika yöntemi.
Çıkış <?>
mutexLock ()
Paylaşılan bir işaretçiyi muteks üzerindeki bir kilide tutan bir tensör; Tensör yok edildiğinde paylaşılan işaretçinin kullanım sayısı 1 azalır.

Kalıtsal Yöntemler

Sabitler

genel statik son Dize OP_NAME

Bu operasyonun TensorFlow çekirdek motoru tarafından bilinen adı

Sabit Değer: "MutexLock"

Genel Yöntemler

genel Çıkış < TType > asOutput ()

Tensörün sembolik tutamacını döndürür.

TensorFlow işlemlerinin girdileri, başka bir TensorFlow işleminin çıktılarıdır. Bu yöntem, girişin hesaplanmasını temsil eden sembolik bir tanıtıcı elde etmek için kullanılır.

public static MutexLock create ( Kapsam kapsamı, İşlenen <?> mutex)

Yeni bir MutexLock işlemini saran bir sınıf oluşturmak için fabrika yöntemi.

Parametreler
kapsam mevcut kapsam
muteks Kilitlenecek muteks kaynağı.
İade
  • MutexLock'un yeni bir örneği

genel Çıkış <?> mutexLock ()

Paylaşılan bir işaretçiyi muteks üzerindeki bir kilide tutan bir tensör; Tensör yok edildiğinde paylaşılan işaretçinin kullanım sayısı 1 azalır. 0'a ulaştığında kilit açılır.