टेन्सरफ़्लो ऑपरेशंस बनाते समय संबंधित गुणों के समूहों को प्रबंधित करता है, जैसे कि एक सामान्य नाम उपसर्ग।
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, ...);
स्कोप ऑब्जेक्ट थ्रेड-सुरक्षित नहीं हैं।
सार्वजनिक निर्माता
सार्वजनिक तरीके
ऑपरेशनबिल्डर | applyControlनिर्भरता ( ऑपरेशनबिल्डर बिल्डर) दिए गए बिल्डर के नियंत्रण इनपुट के रूप में प्रत्येक ऑपरेंड को नियंत्रण निर्भरता में जोड़ता है। |
निष्पादनपर्यावरण | एनवी () इस दायरे द्वारा प्रयुक्त निष्पादन वातावरण लौटाता है। |
डोरी | मेकऑपनाम (स्ट्रिंग डिफ़ॉल्टनाम) यदि आवश्यक हो तो दिए गए डिफ़ॉल्ट का उपयोग करके, ऑपरेटर के लिए एक अद्वितीय नाम बनाएं। |
दायरा | withControlDependcies (Iterable< Ooperand <?>> नियंत्रण) एक नया दायरा लौटाता है जहां जोड़े गए संचालन में प्रदान की गई नियंत्रण निर्भरताएं होंगी। |
दायरा | नाम के साथ (स्ट्रिंग ऑपनाम) एक नया दायरा लौटाएं जो किसी ऑप के लिए दिए गए नाम का उपयोग करता है। |
दायरा | withSubScope (स्ट्रिंग चाइल्डस्कोपनाम) एक नया दायरा लौटाता है जहां जोड़े गए संचालन में प्रदत्त नाम उपसर्ग होगा। |
विरासत में मिली विधियाँ
सार्वजनिक निर्माता
सार्वजनिक दायरा ( निष्पादनपर्यावरण पर्यावरण)
एक नया शीर्ष-स्तरीय दायरा बनाएं.
पैरामीटर
env | स्कोप द्वारा उपयोग किया जाने वाला निष्पादन वातावरण। |
---|
सार्वजनिक तरीके
सार्वजनिक ऑपरेशनबिल्डर लागू नियंत्रणनिर्भरता ( ऑपरेशनबिल्डर बिल्डर)
दिए गए बिल्डर के नियंत्रण इनपुट के रूप में प्रत्येक ऑपरेंड को नियंत्रण निर्भरता में जोड़ता है।
पैरामीटर
निर्माता | ऑपरेशनबिल्डर में नियंत्रण इनपुट जोड़ने के लिए |
---|
सार्वजनिक स्ट्रिंग मेकऑपनाम (स्ट्रिंग डिफ़ॉल्टनाम)
यदि आवश्यक हो तो दिए गए डिफ़ॉल्ट का उपयोग करके, ऑपरेटर के लिए एक अद्वितीय नाम बनाएं।
इसे आम तौर पर केवल ऑपरेटर बिल्डिंग क्लासेस द्वारा ही बुलाया जाता है।
यह विधि एक अद्वितीय नाम उत्पन्न करती है, जो इस उदाहरण द्वारा नियंत्रित नाम के दायरे के लिए उपयुक्त है। विशिष्ट ऑपरेटर बिल्डिंग कोड ऐसा दिख सकता है
scope.env().opBuilder("Const", scope.makeOpName("Const"))...
नोट: यदि आप एक समग्र ऑपरेटर बिल्डिंग क्लास प्रदान करते हैं (यानी, एक क्लास जो अन्य ऑपरेटर बिल्डिंग कोड को कॉल करके संबंधित संचालन का एक सेट बनाता है), तो प्रदान किया गया नाम सभी अंतर्निहित ऑपरेटरों के लिए एक उप-क्षेत्र के रूप में कार्य करेगा।
पैरामीटर
डिफ़ॉल्टनाम | अंतर्निहित ऑपरेटर का नाम. |
---|
रिटर्न
- ऑपरेटर के लिए अद्वितीय नाम.
फेंकता
IllegalArgumentException | यदि डिफ़ॉल्ट नाम अमान्य है. |
---|
नियंत्रणनिर्भरता के साथ सार्वजनिक दायरा (पुनरावर्तनीय< ऑपरेंड <?>>नियंत्रण)
एक नया दायरा लौटाता है जहां जोड़े गए संचालन में प्रदान की गई नियंत्रण निर्भरताएं होंगी।
इस दायरे के साथ बनाए गए ऑप्स के पास दिए गए प्रत्येक नियंत्रण से नियंत्रण बढ़त होगी। अन्य सभी संपत्तियाँ वर्तमान दायरे से विरासत में मिली हैं।
पैरामीटर
को नियंत्रित करता है | लौटाए गए दायरे के साथ बनाए गए ऑप्स के लिए निर्भरता को नियंत्रित करें |
---|
रिटर्न
- प्रदान की गई नियंत्रण निर्भरता के साथ एक नया दायरा
नाम के साथ सार्वजनिक दायरा (स्ट्रिंग opName)
एक नया दायरा लौटाएं जो किसी ऑप के लिए दिए गए नाम का उपयोग करता है।
इस दायरे में बनाए गए संचालन में फॉर्म name/opName[_suffix]
का एक नाम होगा। इससे आप किसी विशिष्ट ऑपरेटर का नाम अधिक अर्थपूर्ण ढंग से रख सकते हैं।
नाम नियमित अभिव्यक्ति से मेल खाना चाहिए [A-Za-z0-9.][A-Za-z0-9_.\-]*
पैरामीटर
opName | लौटाए गए दायरे में एक ऑपरेटर का नाम |
---|
रिटर्न
- एक नया दायरा जो संचालन के लिए opName का उपयोग करता है।
फेंकता
IllegalArgumentException | यदि नाम अमान्य है |
---|
सबस्कोप के साथ सार्वजनिक दायरा (स्ट्रिंग चाइल्डस्कोपनाम)
एक नया दायरा लौटाता है जहां जोड़े गए संचालन में प्रदत्त नाम उपसर्ग होगा।
इस दायरे से बनाए गए ऑप्स में उपसर्ग के रूप में name/childScopeName/
होगा। लौटाए गए दायरे में वास्तविक नाम अद्वितीय होगा। अन्य सभी संपत्तियाँ वर्तमान दायरे से विरासत में मिली हैं।
चाइल्ड स्कोप का नाम रेगुलर एक्सप्रेशन से मेल खाना चाहिए [A-Za-z0-9.][A-Za-z0-9_.\-]*
पैरामीटर
चाइल्डस्कोपनाम | नए बच्चे के दायरे का नाम |
---|
रिटर्न
- एक नया उपक्षेत्र
फेंकता
IllegalArgumentException | यदि नाम अमान्य है |
---|