টেনসরফ্লো অপারেশন তৈরি করার সময় সম্পর্কিত বৈশিষ্ট্যের গ্রুপ পরিচালনা করে, যেমন একটি সাধারণ নাম উপসর্গ।
Scope
হল TensorFlow Ops-এ প্রয়োগ করা সাধারণ বৈশিষ্ট্যগুলির জন্য একটি ধারক। সাধারণ ব্যবহারকারী কোড একটি Scope
শুরু করে এবং এটি অপারেশন বিল্ডিং ক্লাসে প্রদান করে। যেমন:
Scope scope = new Scope(graph);
Constant c = Constant.create(scope, 42);
একটি অপারেশন বিল্ডিং ক্লাস একটি স্কোপ অর্জন করে এবং অন্তর্নিহিত টেনসরফ্লো অপারেশনগুলিতে বৈশিষ্ট্য সেট করতে এটি ব্যবহার করে। যেমন:
// An operator class that adds a constant.
public class Constant {
public static Constant create(Scope scope, ...) {
scope.graph().opBuilder(
"Const", scope.makeOpName("Const"))
.setAttr(...)
.build()
...
}
}
স্কোপ অনুক্রম:
একটি Scope
বিভিন্ন with()
পদ্ধতি প্রদান করে যা একটি নতুন সুযোগ তৈরি করে। নতুন স্কোপে সাধারণত একটি সম্পত্তি পরিবর্তিত হয় যখন অন্যান্য বৈশিষ্ট্যগুলি মূল সুযোগ থেকে উত্তরাধিকার সূত্রে প্রাপ্ত হয়।
Constant
ব্যবহার করে একটি উদাহরণ আগের মত প্রয়োগ করা হয়েছে:
Scope root = new Scope(graph);
// The linear subscope will generate names like linear/...
Scope linear = Scope.withSubScope("linear");
// This op name will be "linear/W"
Constant.create(linear.withName("W"), ...);
// This op will be "linear/Const", using the default
// name provided by Constant
Constant.create(linear, ...);
// This op will be "linear/Const_1", using the default
// name provided by Constant and making it unique within
// this scope
Constant.create(linear, ...);
স্কোপ বস্তু থ্রেড-নিরাপদ নয় ।
পাবলিক কনস্ট্রাক্টর
পাবলিক পদ্ধতি
অপারেশন বিল্ডার | আবেদন করুন ( অপারেশন বিল্ডার নির্মাতা) ডিভাইসের স্পেসিফিকেশন প্রয়োগ করে এবং প্রদত্ত বিল্ডারকে কন্ট্রোল ইনপুট হিসাবে কন্ট্রোল ডিপেন্ডেন্সিতে প্রতিটি অপারেন্ড যোগ করে। |
অপারেশন বিল্ডার | প্রয়োগ নিয়ন্ত্রণ নির্ভরতা ( অপারেশন বিল্ডার নির্মাতা) প্রদত্ত বিল্ডারকে নিয়ন্ত্রণ ইনপুট হিসাবে নিয়ন্ত্রণ নির্ভরতায় প্রতিটি অপারেন্ড যোগ করে। |
এক্সিকিউশন এনভায়রনমেন্ট | env () এই সুযোগ দ্বারা ব্যবহৃত কার্যকরী পরিবেশ প্রদান করে। |
স্ট্রিং | getDeviceString () স্কোপ থেকে ডিভাইস স্ট্রিং ফেরত দেয়। |
স্ট্রিং | makeOpName (স্ট্রিং ডিফল্ট নাম) প্রয়োজনে প্রদত্ত ডিফল্ট ব্যবহার করে একটি অপারেটরের জন্য একটি অনন্য নাম তৈরি করুন। |
ব্যাপ্তি | কন্ট্রোল ডিপেনডেন্সির সাথে (Iterable< Op > controls) একটি নতুন সুযোগ প্রদান করে যেখানে যোগ করা অপারেশনগুলিতে প্রদত্ত নিয়ন্ত্রণ নির্ভরতা থাকবে। |
ব্যাপ্তি | ডিভাইসের সাথে ( ডিভাইসস্পেক ডিভাইসস্পেক) একটি অপের জন্য প্রদত্ত ডিভাইস স্পেসিফিকেশন ব্যবহার করে একটি নতুন সুযোগ ফেরত দিন। |
ব্যাপ্তি | withName (স্ট্রিং opName) একটি নতুন সুযোগ ফিরিয়ে দিন যা একটি অপের জন্য প্রদত্ত নাম ব্যবহার করে। |
ব্যাপ্তি | withNameAsSubScope (স্ট্রিং ডিফল্ট নাম) একটি নতুন সুযোগ প্রদান করে যেখানে যোগ করা ক্রিয়াকলাপগুলি এই স্কোপের অপ নামের ( withName(String) দ্বারা সেট করা হয়েছে), অথবা প্রদত্ত ডিফল্ট যদি এটি সেট না থাকে তাহলে প্রিফিক্স করা হবে। |
ব্যাপ্তি | সাবস্কোপ সহ (স্ট্রিং চাইল্ডস্কোপ নাম) একটি নতুন সুযোগ প্রদান করে যেখানে যোগ করা ক্রিয়াকলাপের প্রদত্ত নামের উপসর্গ থাকবে। |
উত্তরাধিকারসূত্রে প্রাপ্ত পদ্ধতি
পাবলিক কনস্ট্রাক্টর
পাবলিক স্কোপ ( এক্সিকিউশন এনভায়রনমেন্ট env)
একটি নতুন শীর্ষ-স্তরের সুযোগ তৈরি করুন।
পরামিতি
env | স্কোপ দ্বারা কার্যকরী পরিবেশ ব্যবহার করা হয়। |
---|
পাবলিক পদ্ধতি
পাবলিক অপারেশন বিল্ডার প্রয়োগ করুন ( অপারেশন বিল্ডার নির্মাতা)
ডিভাইসের স্পেসিফিকেশন প্রয়োগ করে এবং প্রদত্ত বিল্ডারকে কন্ট্রোল ইনপুট হিসাবে কন্ট্রোল ডিপেন্ডেন্সিতে প্রতিটি অপারেন্ড যোগ করে।
পরামিতি
নির্মাতা | কন্ট্রোল ইনপুট এবং ডিভাইস স্পেসিফিকেশন যোগ করতে OperationBuilder |
---|
সর্বজনীন অপারেশন বিল্ডার প্রয়োগ নিয়ন্ত্রণ নির্ভরতা ( অপারেশন বিল্ডার নির্মাতা)
প্রদত্ত বিল্ডারকে নিয়ন্ত্রণ ইনপুট হিসাবে নিয়ন্ত্রণ নির্ভরতায় প্রতিটি অপারেন্ড যোগ করে।
পরামিতি
নির্মাতা | OperationBuilder এ কন্ট্রোল ইনপুট যোগ করতে |
---|
সর্বজনীন স্ট্রিং getDeviceString ()
স্কোপ থেকে ডিভাইস স্ট্রিং ফেরত দেয়।
সর্বজনীন স্ট্রিং makeOpName (স্ট্রিং ডিফল্ট নাম)
প্রয়োজনে প্রদত্ত ডিফল্ট ব্যবহার করে একটি অপারেটরের জন্য একটি অনন্য নাম তৈরি করুন।
এটি সাধারণত শুধুমাত্র অপারেটর বিল্ডিং ক্লাস দ্বারা বলা হয়।
এই পদ্ধতিটি একটি অনন্য নাম তৈরি করে, এই উদাহরণ দ্বারা নিয়ন্ত্রিত নামের সুযোগের জন্য উপযুক্ত। সাধারণ অপারেটর বিল্ডিং কোড এর মত দেখতে হতে পারে
scope.env().opBuilder("Const", scope.makeOpName("Const"))...
দ্রষ্টব্য: আপনি যদি একটি কম্পোজিট অপারেটর বিল্ডিং ক্লাস প্রদান করেন (অর্থাৎ, একটি ক্লাস যা অন্যান্য অপারেটর বিল্ডিং কোড কল করে সম্পর্কিত ক্রিয়াকলাপের একটি সেট তৈরি করে), প্রদত্ত নামটি সমস্ত অন্তর্নিহিত অপারেটরের জন্য একটি সাবস্কোপ হিসাবে কাজ করবে৷
পরামিতি
ডিফল্ট নাম | অন্তর্নিহিত অপারেটরের নাম। |
---|
রিটার্নস
- অপারেটরের জন্য অনন্য নাম।
নিক্ষেপ করে
অবৈধ আর্গুমেন্ট ব্যতিক্রম | যদি ডিফল্ট নামটি অবৈধ হয়। |
---|
কন্ট্রোল ডিপেনডেন্সির সাথে পাবলিক স্কোপ (Iterable< Op > controls)
একটি নতুন সুযোগ প্রদান করে যেখানে যোগ করা অপারেশনগুলিতে প্রদত্ত নিয়ন্ত্রণ নির্ভরতা থাকবে।
এই সুযোগের সাথে তৈরি করা অপারেশনগুলিতে প্রদত্ত নিয়ন্ত্রণগুলির প্রতিটি থেকে একটি নিয়ন্ত্রণ প্রান্ত থাকবে। অন্যান্য সমস্ত বৈশিষ্ট্য বর্তমান সুযোগ থেকে উত্তরাধিকারসূত্রে প্রাপ্ত।
পরামিতি
নিয়ন্ত্রণ করে | প্রত্যাবর্তিত সুযোগের সাথে তৈরি করা অপারেশনগুলির জন্য নিয়ন্ত্রণ নির্ভরতা |
---|
রিটার্নস
- প্রদত্ত নিয়ন্ত্রণ নির্ভরতা সহ একটি নতুন সুযোগ
ডিভাইসের সাথে পাবলিক স্কোপ ( ডিভাইসস্পেক ডিভাইসস্পেক)
একটি অপের জন্য প্রদত্ত ডিভাইস স্পেসিফিকেশন ব্যবহার করে একটি নতুন সুযোগ ফেরত দিন।
এই সুযোগের মধ্যে তৈরি করা অপারেশনগুলি প্রদত্ত স্পেকের সাথে মিলে যাওয়া ডিভাইসে তৈরি করা অপারেশনগুলিকে স্থাপন করবে।
পরামিতি
ডিভাইস বিশেষ | প্রত্যাবর্তিত সুযোগে একটি অপারেটরের জন্য ডিভাইসের স্পেসিফিকেশন |
---|
রিটার্নস
- একটি নতুন স্কোপ যা অপারেশনের জন্য opName ব্যবহার করে।
সর্বজনীন স্কোপ উইথ নেম (স্ট্রিং অপনাম)
একটি নতুন সুযোগ ফিরিয়ে দিন যা একটি অপের জন্য প্রদত্ত নাম ব্যবহার করে।
এই সুযোগের মধ্যে তৈরি করা ক্রিয়াকলাপগুলির একটি নাম থাকবে ফর্ম name/opName[_suffix]
। এটি আপনাকে একটি নির্দিষ্ট অপারেটরের নাম আরও অর্থপূর্ণ করতে দেয়।
নাম অবশ্যই রেগুলার এক্সপ্রেশনের সাথে মিলতে হবে [A-Za-z0-9.][A-Za-z0-9_.\-]*
পরামিতি
opName | প্রত্যাবর্তিত সুযোগে একটি অপারেটরের নাম |
---|
রিটার্নস
- একটি নতুন স্কোপ যা অপারেশনের জন্য opName ব্যবহার করে।
নিক্ষেপ করে
অবৈধ আর্গুমেন্ট ব্যতিক্রম | যদি নামটি অবৈধ হয় |
---|
NameAsSubScope সহ সর্বজনীন স্কোপ (স্ট্রিং ডিফল্ট নাম)
একটি নতুন সুযোগ প্রদান করে যেখানে যোগ করা ক্রিয়াকলাপগুলি এই স্কোপের অপ নামের ( withName(String)
দ্বারা সেট করা হয়েছে), অথবা প্রদত্ত ডিফল্ট যদি এটি সেট না থাকে তাহলে প্রিফিক্স করা হবে। এটি কম্পোজিট অপারেশনের জন্য ব্যবহার করার উদ্দেশ্যে করা হয়েছে।
এই সুযোগের সাথে তৈরি করা অপ্সের name/opName/
উপসর্গ হিসেবে থাকবে। প্রত্যাবর্তিত সুযোগে আসল নামটি অনন্য হবে। অন্যান্য সমস্ত বৈশিষ্ট্য বর্তমান সুযোগ থেকে উত্তরাধিকারসূত্রে প্রাপ্ত।
ডিফল্ট চাইল্ড স্কোপের নাম অবশ্যই রেগুলার এক্সপ্রেশনের সাথে মিলতে হবে [A-Za-z0-9.][A-Za-z0-9_.\-]*
পরামিতি
ডিফল্ট নাম | সাব স্কোপের নাম যদি এই সুযোগের নাম সেট করা না থাকে। |
---|
রিটার্নস
- একটি নতুন সাবস্কোপ
নিক্ষেপ করে
অবৈধ আর্গুমেন্ট ব্যতিক্রম | যদি নামটি অবৈধ হয় |
---|
সাবস্কোপ সহ সর্বজনীন স্কোপ (স্ট্রিং চাইল্ডস্কোপনাম)
একটি নতুন সুযোগ প্রদান করে যেখানে যোগ করা ক্রিয়াকলাপের প্রদত্ত নামের উপসর্গ থাকবে।
এই সুযোগের সাথে তৈরি করা অপ্সের name/childScopeName/
উপসর্গ হিসেবে থাকবে। প্রত্যাবর্তিত সুযোগে আসল নামটি অনন্য হবে। অন্যান্য সমস্ত বৈশিষ্ট্য বর্তমান সুযোগ থেকে উত্তরাধিকারসূত্রে প্রাপ্ত।
চাইল্ড স্কোপের নাম অবশ্যই রেগুলার এক্সপ্রেশনের সাথে মিলতে হবে [A-Za-z0-9.][A-Za-z0-9_.\-]*
পরামিতি
চাইল্ডস্কোপের নাম | নতুন সন্তানের সুযোগের জন্য নাম |
---|
রিটার্নস
- একটি নতুন সাবস্কোপ
নিক্ষেপ করে
অবৈধ আর্গুমেন্ট ব্যতিক্রম | যদি নামটি অবৈধ হয় |
---|