נועל משאב 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' משנה משתנה אחד או יותר בכל פעם.
זה גם שימושי אם שתי פונקציות נפרדות חייבות לשתף משאב, אבל אנחנו רוצים להבטיח שהשימוש יהיה בלעדי.
קבועים
חוּט | OP_NAME | השם של המבצע הזה, כפי שידוע על ידי מנוע הליבה של TensorFlow |
שיטות ציבוריות
פלט < TType > | asOutput () מחזירה את הידית הסמלית של הטנזור. |
MutexLock סטטי | |
פלט <?> | mutexlock () טנסור ששומר על מצביע משותף לנעילה על המוטקס; כאשר הטנסור מושמד, ספירת השימוש במצביע המשותף מצטמצמת ב-1. |
שיטות בירושה
קבועים
מחרוזת סופית סטטית ציבורית OP_NAME
השם של המבצע הזה, כפי שידוע על ידי מנוע הליבה של TensorFlow
שיטות ציבוריות
פלט ציבורי < TType > asOutput ()
מחזירה את הידית הסמלית של הטנזור.
כניסות לפעולות TensorFlow הן יציאות של פעולת TensorFlow אחרת. שיטה זו משמשת להשגת ידית סמלית המייצגת את חישוב הקלט.
יצירת MutexLock סטטי ציבורי ( scope scope, Operand <?> mutex)
שיטת מפעל ליצירת מחלקה העוטפת פעולת MutexLock חדשה.
פרמטרים
תְחוּם | ההיקף הנוכחי |
---|---|
mutex | משאב mutex לנעילה. |
מחזיר
- מופע חדש של MutexLock
פלט ציבורי <?> mutexLock ()
טנסור ששומר על מצביע משותף לנעילה על המוטקס; כאשר הטנסור מושמד, ספירת השימוש במצביע המשותף מצטמצמת ב-1. כאשר הוא מגיע ל-0, הנעילה משתחררת.