MutexLock

lớp cuối cùng công khai MutexLock

Khóa tài nguyên mutex. Đầu ra là khóa. Miễn là tensor khóa

vẫn còn hoạt động, mọi yêu cầu sử dụng `MutexLock` khác với mutex này sẽ chờ.

Điều này đặc biệt hữu ích để tạo một phần quan trọng khi được sử dụng cùng với `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)
 
Trong khi `fn` đang chạy trong phần quan trọng, không có chức năng nào khác muốn sử dụng phần quan trọng này có thể chạy.

Thông thường, trường hợp sử dụng là hai lần thực thi song song của cùng một biểu đồ, muốn chạy `fn`; và chúng tôi muốn đảm bảo rằng chỉ một trong số chúng được thực thi tại một thời điểm. Điều này đặc biệt quan trọng nếu `fn` sửa đổi một hoặc nhiều biến cùng một lúc.

Nó cũng hữu ích nếu hai chức năng riêng biệt phải chia sẻ một tài nguyên nhưng chúng tôi muốn đảm bảo việc sử dụng là độc quyền.

Phương pháp công cộng

Đầu ra <Đối tượng>
asOutput ()
Trả về phần điều khiển tượng trưng của một tenxơ.
MutexLock tĩnh
tạo ( Phạm vi phạm vi, Toán hạng <?> mutex)
Phương thức xuất xưởng để tạo một lớp bao bọc một thao tác MutexLock mới.
Đầu ra <?>
mutexLock ()
Một tensor giữ con trỏ dùng chung tới một khóa trên mutex; khi Tensor bị phá hủy, số lần sử dụng trên con trỏ dùng chung sẽ giảm đi 1.

Phương pháp kế thừa

Phương pháp công cộng

Đầu ra công khai <Object> asOutput ()

Trả về phần điều khiển tượng trưng của một tenxơ.

Đầu vào của các hoạt động TensorFlow là đầu ra của một hoạt động TensorFlow khác. Phương pháp này được sử dụng để thu được một thẻ điều khiển mang tính biểu tượng đại diện cho việc tính toán đầu vào.

tạo MutexLock tĩnh công khai (Phạm vi phạm vi , Toán hạng <?> mutex)

Phương thức xuất xưởng để tạo một lớp bao bọc một thao tác MutexLock mới.

Thông số
phạm vi phạm vi hiện tại
mutex Tài nguyên mutex để khóa.
Trả lại
  • một phiên bản mới của MutexLock

Đầu ra công khai <?> mutexLock ()

Một tensor giữ con trỏ dùng chung tới một khóa trên mutex; khi Tensor bị phá hủy, số lần sử dụng trên con trỏ dùng chung sẽ giảm đi 1. Khi nó về 0, khóa sẽ được giải phóng.