टेंसरफ़्लो :: क्षेत्र
#include <scope.h>
एक Scope
ऑब्जेक्ट संबंधित TensorFlow ऑप्स के एक सेट का प्रतिनिधित्व करता है जिसमें समान गुण होते हैं जैसे कि एक सामान्य नाम उपसर्ग।
सारांश
स्कोप ऑब्जेक्ट TensorFlow Op गुणों के लिए एक कंटेनर है। ओप कंस्ट्रक्टरों को एक स्कोप ऑब्जेक्ट एक अनिवार्य प्रथम तर्क के रूप में मिलता है और निर्मित ओप ऑब्जेक्ट में गुणों को प्राप्त करता है।
एक सरल उदाहरण:
using namespace ops; Scope root = Scope::NewRootScope(); auto c1 = Const(root, { {1, 1} }); auto m = MatMul(root, c1, { {41}, {1} }); GraphDef gdef; Status s = root.ToGraphDef(&gdef); if (!s.ok()) { ... }
स्कोप पदानुक्रम:
स्कोप वर्ग <> कार्यों के साथ विभिन्न प्रदान करता है जो एक नया दायरा बनाते हैं। नए स्कोप में आमतौर पर एक संपत्ति होती है, जबकि अन्य गुण पैतृक दायरे से विरासत में मिले हैं। NewSubScope (नाम) विधि संलग्न कर देता है name
दायरे के भीतर बनाया ऑप्स के लिए नामों का उपसर्ग के लिए, और WithOpName () सेशन के प्रकार के प्रत्यय बदल जाता है जो अन्यथा चूक।
नाम उदाहरण:
Scope root = Scope::NewRootScope(); Scope linear = root.NewSubScope("linear"); // W will be named "linear/W" auto W = Variable(linear.WithOpName("W"), {2, 2}, DT_FLOAT); // b will be named "linear/b_3" int idx = 3; auto b = Variable(linear.WithOpName("b_", idx), {2}, DT_FLOAT); auto x = Const(linear, {...}); // name: "linear/Const" auto m = MatMul(linear, x, W); // name: "linear/MatMul" auto r = BiasAdd(linear, m, b); // name: "linear/BiasAdd"
स्कोप जीवनकाल:
स्कोप :: NewRootScope को कॉल करके एक नया स्कोप बनाया जाता है। यह कुछ ऐसे संसाधन बनाता है जो सीधे या सकारत्मक रूप से इस दायरे से प्राप्त होने वाले सभी चाइल्ड स्कोप द्वारा साझा किए जाते हैं। उदाहरण के लिए, एक नया स्कोप एक नया ग्राफ़ ऑब्जेक्ट बनाता है, जिसमें ऑपरेशन तब जोड़े जाते हैं जब ऑप कंस्ट्रक्टर द्वारा नए स्कोप या उसके बच्चों का उपयोग किया जाता है। नए स्कोप में एक स्टेटस ऑब्जेक्ट भी होता है जिसका उपयोग किसी भी चाइल्ड स्कोप पर ओप-कंस्ट्रक्टर फंक्शन द्वारा त्रुटियों को इंगित करने के लिए किया जाएगा। ऑप-कंस्ट्रक्टर कार्यों को ऑप के निर्माण के लिए आगे बढ़ने से पहले ओके () विधि को कॉल करके स्कोप की स्थिति की जांच करनी होती है।
धागा सुरक्षा:
Scope
ऑब्जेक्ट थ्रेड-सुरक्षित नहीं है। थ्रेड्स समान रूप से एक ही Scope
ऑब्जेक्ट पर ऑप-कंस्ट्रक्टर फ़ंक्शन को कॉल नहीं कर सकते हैं।
कंस्ट्रक्टर और डिस्ट्रक्टर्स | |
---|---|
Scope (const Scope & other) | |
~Scope () |
सार्वजनिक कार्य | |
---|---|
ClearColocation () const | सभी उपनिवेश बाधाओं को साफ करें। |
ColocateWith (const Operation & op) const | एक नया दायरा लौटाएं। |
ColocateWith (const Output & out) const | ऊपर के लिए सुविधा समारोह। |
ExitOnError () const | एक नया दायरा लौटाएं। |
GetCompositeOpScopes (const string & composite_op_name) const | |
GetUniqueNameForOp (const string & default_name) const | string यदि कोई op नाम निर्दिष्ट नहीं किया गया है, तो default_name का उपयोग करके एक अद्वितीय नाम लौटाएँ। |
NewSubScope (const string & child_scope_name) const | एक नया दायरा लौटाएं। |
ToGraphDef (GraphDef *gdef) const | यदि स्थिति () स्थिति :: ठीक है () है, तो इस दायरे में संग्रहीत ग्राफ़ ऑब्जेक्ट को एक ग्राफ़िफ़ प्रोटो में बदलें और स्थिति :: ओके () लौटें। |
UpdateStatus (const Status s) const | void इस स्कोप पर स्टेटस अपडेट करें। |
WithAssignedDevice (const string & assigned_device) const | एक नया दायरा लौटाता है। |
WithControlDependencies (const gtl::ArraySlice< Operation > & control_deps) const | एक नया दायरा लौटाएं। |
WithControlDependencies (const Output & control_dep) const | ऊपर जैसा ही है, लेकिन control_dep आउटपुट के संचालन पर नियंत्रण निर्भरता को जोड़ने के लिए सुविधाजनक है। |
WithDevice (const string & device) const | एक नया दायरा लौटाएं। |
WithKernelLabel (const string & kernel_label) const | एक नया दायरा लौटाएं। |
WithNoControlDependencies () const | एक नया दायरा लौटाएं। |
WithOpName (Ty... fragments) const | एक नया दायरा लौटाएं। |
WithXlaCluster (const string & xla_cluster) const | एक नया दायरा लौटाता है। |
control_deps () const | const std::vector< Operation > & |
graph () const | Graph * |
graph_as_shared_ptr () const | std::shared_ptr< Graph > |
ok () const | bool |
operator= (const Scope & other) | Scope & |
status () const |
सार्वजनिक स्थैतिक कार्य | |
---|---|
NewRootScope () | एक नया दायरा लौटाएं। |
सार्वजनिक कार्य
ColocateWith
Scope ColocateWith( const Operation & op ) const
एक नया दायरा लौटाएं।
लौटाए गए दायरे के भीतर बनाए गए सभी ऑप्स उस डिवाइस पर सह-स्थित होंगे जहां ऑप रखा गया है। नोट: इस फ़ंक्शन का उद्देश्य केवल उपकरणों पर ऑप्स को नियंत्रित करने के लिए आंतरिक पुस्तकालयों का उपयोग करना है। सार्वजनिक उपयोग को प्रोत्साहित नहीं किया जाता है क्योंकि डिवाइस प्लेसमेंट का कार्यान्वयन परिवर्तन के अधीन है।
एक्सिटऑनऑरर
Scope ExitOnError() const
एक नया दायरा लौटाएं।
ऑप-कंस्ट्रक्टर कार्य का दायरा लौटाता है क्योंकि स्कोप तर्क स्थिति से बाहर निकलने के बजाय, त्रुटि का पता चलते ही बाहर निकल जाएगा।
GetCompositeOpScopes
CompositeOpScopes GetCompositeOpScopes( const string & composite_op_name ) constहै
GetUniqueNameForOp
string GetUniqueNameForOp( const string & default_name ) const
यदि कोई op नाम निर्दिष्ट नहीं किया गया है, तो default_name का उपयोग करके एक अद्वितीय नाम लौटाएँ।
NewSubScope
Scope NewSubScope( const string & child_scope_name ) const
एक नया दायरा लौटाएं।
इस दायरे के साथ बनाए गए ऑप्स में उपसर्ग के रूप में name/child_scope_name
होगा। मौजूदा दायरे में वास्तविक नाम अद्वितीय होगा। अन्य सभी गुण वर्तमान दायरे से विरासत में मिले हैं। यदि child_scope_name
खाली है, तो /
को child_scope_name
है।
क्षेत्र
Scope( const Scope & other )
ToGraphDef
Status ToGraphDef( GraphDef *gdef ) const
यदि स्थिति () स्थिति :: OK () है, तो इस क्षेत्र में संग्रहीत ग्राफ़ ऑब्जेक्ट को एक ग्राफ़िफ़ प्रोटो में कनवर्ट करें और स्थिति :: ओके () लौटें।
अन्यथा, ग्राफडिफ रूपांतरण किए बिना त्रुटि स्थिति लौटाएं।
नवीनतम स्थिति
void UpdateStatus( const Status s ) const
इस स्कोप पर स्टेटस अपडेट करें।
नोट: स्टेटस ऑब्जेक्ट इस दायरे के सभी बच्चों के बीच साझा किया जाता है। यदि परिणामी स्थिति स्थिति नहीं है :: OK () और exit_on_error_ को इस दायरे में सेट किया गया है, तो यह फ़ंक्शन लॉग (FATAL) कहकर बाहर निकलता है।
WithAssignedDevice
Scope WithAssignedDevice( const string & assigned_device ) const
एक नया दायरा लौटाता है।
लौट आए दायरे में बनाए गए सभी ऑप्स उनको सौंपे डिवाइस के लिए निर्धारित किया है जाएगा assigned_device
।
WithControlD dependencies
Scope WithControlDependencies( const gtl::ArraySlice< Operation > & control_deps ) const
एक नया दायरा लौटाएं।
लौटे दायरे के भीतर बनाए गए सभी ऑप्स पर नियंत्रण निर्भरताएं होंगी जो नियंत्रण_डेप्स वेक्टर में संचालन के संघ और वर्तमान दायरे के नियंत्रण निर्भरता के रूप में होंगी।
WithControlD dependencies
Scope WithControlDependencies( const Output & control_dep ) const
ऊपर जैसा ही है, लेकिन control_dep आउटपुट के संचालन पर नियंत्रण निर्भरता को जोड़ने के लिए सुविधाजनक है।
WithDevice
Scope WithDevice( const string & device ) const
एक नया दायरा लौटाएं।
लौटाए गए दायरे के भीतर बनाए गए सभी ऑप्स में डिवाइस फ़ील्ड 'डिवाइस' पर सेट होगी।
विथ कर्नेललैब
Scope WithKernelLabel( const string & kernel_label ) const
एक नया दायरा लौटाएं।
नए दायरे के साथ बनाए गए सभी ऑप्स में उनकी '_kernel' विशेषता के मान के रूप में kernel_label होगा;
WithNoControl पर निर्भरताएँ
Scope WithNoControlDependencies() const
एक नया दायरा लौटाएं।
लौटाए गए दायरे के भीतर बनाए गए सभी ऑप्स का अन्य संचालन पर कोई नियंत्रण निर्भरता नहीं होगी।
WithOpName
Scope WithOpName( Ty... fragments ) const
एक नया दायरा लौटाएं।
दिए गए दायरे के भीतर बनाए गए सभी ऑप्स में फॉर्म का name/StrCat(fragments...)[_suffix]
WithXlaCluster
Scope WithXlaCluster( const string & xla_cluster ) const
एक नया दायरा लौटाता है।
लौटाए गए दायरे के भीतर बनाए गए सभी ऑप्स में उनके _XlaCluster विशेषता को xla_cluster
सेट किया xla_cluster
।
control_deps
const std::vector< Operation > & control_deps() const
ग्राफ
Graph * graph() const
आलेख
std::shared_ptr< Graph > graph_as_shared_ptr() const
ठीक है
bool ok() const
स्थिति
Status status() const
~ स्कोप
~Scope()
सार्वजनिक स्थैतिक कार्य
NewRootScope
Scope NewRootScope()
एक नया दायरा लौटाएं।
यह एक नया ग्राफ बनाता है और इस ग्राफ में निर्मित सभी परिचालनों को "रूट" स्कोप के रूप में लौटी हुई वस्तु का उपयोग करना चाहिए।