MutexLock

सार्वजनिक अंतिम वर्ग MutexLock

म्यूटेक्स संसाधन को लॉक करता है। आउटपुट लॉक है. जब तक लॉक टेंसर

जीवित है, इस म्यूटेक्स के साथ `MutexLock` का उपयोग करने का कोई अन्य अनुरोध प्रतीक्षा करेगा।

`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` एक समय में एक या अधिक चर को संशोधित करता है।

यह तब भी उपयोगी है जब दो अलग-अलग कार्यों को एक संसाधन साझा करना होगा, लेकिन हम यह सुनिश्चित करना चाहते हैं कि उपयोग विशिष्ट हो।

सार्वजनिक तरीके

आउटपुट <ऑब्जेक्ट>
आउटपुट के रूप में ()
टेंसर का प्रतीकात्मक हैंडल लौटाता है।
स्थिर म्यूटेक्सलॉक
बनाएं ( स्कोप स्कोप, ऑपरेंड <?> म्यूटेक्स)
नए MutexLock ऑपरेशन को लपेटकर क्लास बनाने की फ़ैक्टरी विधि।
आउटपुट <?>
म्यूटेक्सलॉक ()
एक टेंसर जो एक साझा पॉइंटर को म्यूटेक्स पर लॉक में रखता है; जब टेंसर नष्ट हो जाता है, तो साझा पॉइंटर पर उपयोग की संख्या 1 कम हो जाती है।

विरासत में मिली विधियाँ

सार्वजनिक तरीके

सार्वजनिक आउटपुट <ऑब्जेक्ट> आउटपुट के रूप में ()

टेंसर का प्रतीकात्मक हैंडल लौटाता है।

TensorFlow संचालन के इनपुट किसी अन्य TensorFlow ऑपरेशन के आउटपुट हैं। इस पद्धति का उपयोग एक प्रतीकात्मक हैंडल प्राप्त करने के लिए किया जाता है जो इनपुट की गणना का प्रतिनिधित्व करता है।

सार्वजनिक स्थैतिक म्यूटेक्सलॉक बनाएं ( स्कोप स्कोप, ऑपरेंड <?> म्यूटेक्स)

नए MutexLock ऑपरेशन को लपेटकर क्लास बनाने की फ़ैक्टरी विधि।

पैरामीटर
दायरा वर्तमान दायरा
म्युटेक्स लॉक करने के लिए म्यूटेक्स संसाधन.
रिटर्न
  • MutexLock का एक नया उदाहरण

सार्वजनिक आउटपुट <?> म्यूटेक्सलॉक ()

एक टेंसर जो एक साझा पॉइंटर को म्यूटेक्स पर लॉक में रखता है; जब टेंसर नष्ट हो जाता है, तो साझा पॉइंटर पर उपयोग की संख्या 1 से कम हो जाती है। जब यह 0 तक पहुंच जाता है, तो लॉक जारी हो जाता है।