একটি মিউটেক্স সংস্থান লক করে। আউটপুট হল লক। এতক্ষণ লক টেনসর
বেঁচে আছে, এই মিউটেক্সের সাথে `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 | |
আউটপুট <?> | mutexLock () একটি টেনসর যা মিউটেক্সের একটি লকের জন্য একটি ভাগ করা পয়েন্টার রাখে; যখন টেনসর ধ্বংস হয়ে যায়, শেয়ার্ড পয়েন্টারে ব্যবহারের সংখ্যা 1 কমে যায়। |
উত্তরাধিকারসূত্রে প্রাপ্ত পদ্ধতি
পাবলিক পদ্ধতি
সর্বজনীন আউটপুট <অবজেক্ট> হিসাবে আউটপুট ()
একটি টেনসরের প্রতীকী হ্যান্ডেল প্রদান করে।
TensorFlow অপারেশনের ইনপুট হল অন্য TensorFlow অপারেশনের আউটপুট। এই পদ্ধতিটি একটি সিম্বলিক হ্যান্ডেল পেতে ব্যবহৃত হয় যা ইনপুটের গণনার প্রতিনিধিত্ব করে।
পাবলিক স্ট্যাটিক MutexLock তৈরি করুন ( স্কোপ স্কোপ, অপারেন্ড <?> mutex)
একটি নতুন MutexLock অপারেশন মোড়ানো একটি ক্লাস তৈরি করার কারখানার পদ্ধতি।
পরামিতি
সুযোগ | বর্তমান সুযোগ |
---|---|
মিউটেক্স | লক করার জন্য mutex সম্পদ। |
রিটার্নস
- MutexLock এর একটি নতুন উদাহরণ
পাবলিক আউটপুট <?> mutexLock ()
একটি টেনসর যা মিউটেক্সের একটি লকের জন্য একটি ভাগ করা পয়েন্টার রাখে; যখন টেনসরটি ধ্বংস হয়ে যায়, শেয়ার্ড পয়েন্টারে ব্যবহারের সংখ্যা 1 দ্বারা হ্রাস পায়। যখন এটি 0-এ পৌঁছায়, লকটি প্রকাশ করা হয়।