คำเตือน: API นี้เลิกใช้งานแล้วและจะถูกลบออกใน TensorFlow เวอร์ชันในอนาคตหลังจาก การแทนที่ เสถียรแล้ว

MutexLock

ประชาชน MutexLock ชั้นสุดท้าย

ล็อคทรัพยากร mutex ผลลัพธ์คือล็อค ตราบใดที่ล็อคเทนเซอร์

ยังมีชีวิตอยู่ คำขออื่นใดเพื่อใช้ `MutexLock` กับ mutex นี้จะรอ

นี้จะเป็นประโยชน์อย่างยิ่งสำหรับการสร้างส่วนที่สำคัญเมื่อใช้ร่วมกับ `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" แก้ไขตัวแปรตั้งแต่หนึ่งตัวขึ้นไปในแต่ละครั้ง

นอกจากนี้ยังมีประโยชน์หากสองฟังก์ชันที่แยกจากกันต้องใช้ทรัพยากรร่วมกัน แต่เราต้องการให้แน่ใจว่าการใช้งานเป็นแบบเอกสิทธิ์เฉพาะบุคคล

วิธีการสาธารณะ

เอาท์พุท <object>
asOutput ()
ส่งกลับค่าแฮนเดิลเชิงสัญลักษณ์ของเทนเซอร์
คง MutexLock
สร้าง ( ขอบเขต ขอบเขต Operand <?> mutex)
วิธีการจากโรงงานเพื่อสร้างคลาสที่ปิดการดำเนินการ MutexLock ใหม่
เอาท์พุท <?>
mutexLock ()
เทนเซอร์ที่เก็บตัวชี้ที่ใช้ร่วมกันเพื่อล็อค mutex; เมื่อ Tensor ถูกทำลาย จำนวนการใช้งานบนตัวชี้ที่ใช้ร่วมกันจะลดลง 1

วิธีการสืบทอด

วิธีการสาธารณะ

ประชาชน เอาท์พุท <object> asOutput ()

ส่งกลับค่าแฮนเดิลเชิงสัญลักษณ์ของเทนเซอร์

อินพุตสำหรับการทำงานของ TensorFlow เป็นเอาต์พุตของการดำเนินการอื่นของ TensorFlow วิธีนี้ใช้เพื่อขอรับหมายเลขอ้างอิงเชิงสัญลักษณ์ที่แสดงถึงการคำนวณของอินพุต

สาธารณะคง MutexLock สร้าง ( ขอบเขต ขอบเขต Operand <?> mutex)

วิธีการจากโรงงานเพื่อสร้างคลาสที่ปิดการดำเนินการ MutexLock ใหม่

พารามิเตอร์
ขอบเขต ขอบเขตปัจจุบัน
mutex ทรัพยากร mutex ที่จะล็อก
คืนสินค้า
  • อินสแตนซ์ใหม่ของ MutexLock

ประชาชน เอาท์พุท <?> mutexLock ()

เทนเซอร์ที่เก็บตัวชี้ที่ใช้ร่วมกันเพื่อล็อค mutex; เมื่อ Tensor ถูกทำลาย จำนวนการใช้งานบนตัวชี้ที่ใช้ร่วมกันจะลดลง 1 เมื่อถึง 0 ระบบจะปลดล็อค