op इनपुट टेंसर में दिए गए प्रोटोबफ संदेशों को क्रमबद्ध करता है।
`values` में टेंसर के प्रकार `field_names` में निर्दिष्ट फ़ील्ड के लिए स्कीमा से मेल खाना चाहिए। `Values` के सभी tensors एक आम आकार उपसर्ग, batch_shape होना आवश्यक है।
`आकार` टेंसर प्रत्येक क्षेत्र के लिए दोहराव की संख्या निर्दिष्ट करता है। `मान` में प्रत्येक टेंसर की दोहराव गणना (अंतिम आयाम) `आकार` में संबंधित दोहराव गणना से अधिक या उसके बराबर होनी चाहिए।
फ़ील्ड नामों के लिए संदर्भ देने के लिए एक `message_type` नाम प्रदान किया जाना चाहिए। वास्तविक संदेश डिस्क्रिप्टर को या तो लिंक्ड-इन डिस्क्रिप्टर पूल में देखा जा सकता है या फिर 'डिस्क्रिप्टर_सोर्स' विशेषता का उपयोग करके कॉलर द्वारा प्रदान किए गए फ़ाइल नाम में देखा जा सकता है।
अधिकांश भाग के लिए, प्रोटो फ़ील्ड प्रकारों और TensorFlow dtypes के बीच मानचित्रण सीधा है। हालाँकि, कुछ विशेष मामले हैं:
- एक प्रोटो फ़ील्ड जिसमें एक सबमैसेज या ग्रुप होता है उसे केवल `DT_STRING` (क्रमबद्ध सबमैसेज) में बदला जा सकता है। यह एपीआई की जटिलता को कम करने के लिए है। परिणामी स्ट्रिंग को decode_proto op के दूसरे उदाहरण में इनपुट के रूप में उपयोग किया जा सकता है।
- TensorFlow में अहस्ताक्षरित पूर्णांकों के लिए समर्थन का अभाव है। ops uint64 प्रकारों को एक `DT_INT64` के रूप में समान दो-पूरक बिट पैटर्न (स्पष्ट तरीका) के साथ दर्शाते हैं। अहस्ताक्षरित int32 मानों को `DT_INT64` प्रकार निर्दिष्ट करके, या यदि कॉलर `output_types` विशेषता में `DT_INT32` निर्दिष्ट करता है, तो दो-पूरक का उपयोग करके सटीक रूप से प्रदर्शित किया जा सकता है।
`descriptor_source` विशेषता प्रोटोकॉल डिस्क्रिप्टर के स्रोत का चयन करती है, जब `message_type` को देखते समय परामर्श किया जाता है। यह हो सकता है:
- एक खाली स्ट्रिंग या "स्थानीय: //", जिस स्थिति में प्रोटोकॉल डिस्क्रिप्टर C++ (पायथन नहीं) के लिए बाइनरी से जुड़ी प्रोटो परिभाषाओं के लिए बनाए जाते हैं।
- एक फ़ाइल, जिस स्थिति में फ़ाइल से प्रोटोकॉल डिस्क्रिप्टर बनाए जाते हैं, जिसमें एक स्ट्रिंग के रूप में क्रमबद्ध `FileDescriptorSet` शामिल होने की उम्मीद है। नोट: आप प्रोटोकॉल कंपाइलर `प्रोटोक` के लिए `--descriptor_set_out` और `--include_imports` विकल्पों का उपयोग करके एक `descriptor_source` फ़ाइल बना सकते हैं।
- ए "बाइट्स: //
नेस्टेड कक्षाएं
कक्षा | EncodeProto.Options | के लिए वैकल्पिक विशेषताओं EncodeProto |
सार्वजनिक तरीके
आउटपुट <string> | asOutput () टेंसर का प्रतीकात्मक हैंडल लौटाता है। |
आउटपुट <string> | बाइट्स () आकार `batch_shape` के साथ क्रमबद्ध प्रोटोस का टेंसर। |
स्थिर EncodeProto | बनाने ( स्कोप गुंजाइश, ओपेरैंड <पूर्णांक> आकार, Iterable < ओपेरैंड <? >> मूल्यों, सूची <स्ट्रिंग> fieldNames, स्ट्रिंग messageType, विकल्प ... विकल्प) एक नया EncodeProto ऑपरेशन रैपिंग क्लास बनाने के लिए फ़ैक्टरी विधि। |
स्थिर EncodeProto.Options | descriptorSource (स्ट्रिंग descriptorSource) |
विरासत में मिली विधियां
सार्वजनिक तरीके
सार्वजनिक आउटपुट <string> asOutput ()
टेंसर का प्रतीकात्मक हैंडल लौटाता है।
TensorFlow संचालन के लिए इनपुट एक अन्य TensorFlow ऑपरेशन के आउटपुट हैं। इस पद्धति का उपयोग एक प्रतीकात्मक हैंडल प्राप्त करने के लिए किया जाता है जो इनपुट की गणना का प्रतिनिधित्व करता है।
सार्वजनिक स्थिर EncodeProto बनाने ( स्कोप गुंजाइश, ओपेरैंड <पूर्णांक> आकार, Iterable < ओपेरैंड <? >> मूल्यों, सूची <स्ट्रिंग> fieldNames, स्ट्रिंग messageType, विकल्प ... विकल्प)
एक नया EncodeProto ऑपरेशन रैपिंग क्लास बनाने के लिए फ़ैक्टरी विधि।
मापदंडों
दायरा | वर्तमान दायरा |
---|---|
आकार | आकार के साथ int32 का टेंसर `[batch_shape, len(field_names)]`। |
मूल्यों | संबंधित क्षेत्र के लिए मान वाले टेंसरों की सूची। |
फ़ील्डनाम | प्रोटो फ़ील्ड नामों वाले स्ट्रिंग्स की सूची। |
संदेश प्रकार | डिकोड करने के लिए प्रोटो संदेश प्रकार का नाम। |
विकल्प | वैकल्पिक विशेषता मान रखता है |
रिटर्न
- EncodeProto का एक नया उदाहरण