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, özellikle 'MutexLockIdentity' ile birlikte kullanıldığında kritik bir bölüm oluşturmak için 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 işlev çalışmayabilir.

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. Eğer 'fn' aynı anda bir veya daha fazla değişkeni değiştiriyorsa bu özellikle önemlidir.

Aynı zamanda iki ayrı fonksiyonun bir kaynağı paylaşması gerekiyorsa da kullanışlıdır ancak kullanımın özel olmasını sağlamak istiyoruz.

Genel Yöntemler

Çıkış <Nesne>
Çıkış olarak ()
Bir 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

Genel Yöntemler

public Output <Object> asOutput ()

Bir 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ğı.
İadeler
  • 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.