Peringatan: API ini tidak digunakan lagi dan akan dihapus di versi TensorFlow mendatang setelah penggantinya stabil.

MutexLock

public class akhir MutexLock

Mengunci sumber daya mutex. Outputnya adalah kunci. Selama kunci tensor

masih hidup, permintaan lain untuk menggunakan `MutexLock` dengan mutex ini akan menunggu.

Hal ini sangat berguna untuk membuat bagian kritis ketika digunakan bersama dengan `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)
 
Sementara` fn` berjalan di bagian kritis, tidak ada fungsi lain yang ingin menggunakan bagian kritis ini dapat berjalan.

Seringkali kasus penggunaan adalah bahwa dua eksekusi dari grafik yang sama, secara paralel, ingin menjalankan `fn`; dan kami ingin memastikan bahwa hanya satu dari mereka yang dieksekusi pada satu waktu. Ini sangat penting jika `fn` memodifikasi satu atau lebih variabel sekaligus.

Ini juga berguna jika dua fungsi terpisah harus berbagi sumber daya, tetapi kami ingin memastikan penggunaannya eksklusif.

Metode Publik

Output <Object>
asOutput ()
Mengembalikan pegangan simbolis tensor.
statis MutexLock
membuat ( Lingkup lingkup, Operan <?> mutex)
Metode pabrik untuk membuat kelas yang membungkus operasi MutexLock baru.
Output <?>
mutexLock ()
Tensor yang menyimpan pointer bersama ke kunci di mutex; ketika Tensor dihancurkan, jumlah penggunaan pada penunjuk bersama berkurang 1.

Metode yang Diwarisi

Metode Publik

publik Keluaran <Object> asOutput ()

Mengembalikan pegangan simbolis tensor.

Input ke operasi TensorFlow adalah output dari operasi TensorFlow lainnya. Metode ini digunakan untuk mendapatkan pegangan simbolis yang mewakili perhitungan input.

public static MutexLock membuat ( Scope lingkup, Operan <?> mutex)

Metode pabrik untuk membuat kelas yang membungkus operasi MutexLock baru.

Parameter
cakupan lingkup saat ini
mutex Sumber daya mutex untuk dikunci.
Kembali
  • contoh baru MutexLock

publik output <?> mutexLock ()

Tensor yang menyimpan pointer bersama ke kunci di mutex; ketika Tensor dihancurkan, jumlah penggunaan pada penunjuk bersama berkurang 1. Saat mencapai 0, kunci dilepaskan.