आइंस्टीन योग सम्मेलन के अनुसार टेंसर संकुचन।
सामान्यीकृत टेन्सर संकुचन और कमी को लागू करता है। प्रत्येक इनपुट टेंसर में समीकरण के बाईं ओर अल्पविराम से अलग दिखाई देने वाली एक संबंधित इनपुट सबस्क्रिप्ट होनी चाहिए। समीकरण के दाईं ओर आउटपुट सबस्क्रिप्ट शामिल है। इनपुट सबस्क्रिप्ट और आउटपुट सबस्क्रिप्ट में शून्य या अधिक नामित अक्ष लेबल और अधिकतम एक इलिप्सिस (`...`) शामिल होना चाहिए।
नामित अक्ष लेबल विशेष अर्थ वाले अक्षरों के अलावा कोई भी एकल वर्ण हो सकते हैं, अर्थात् `,.->`। यदि इस ओप को एक गलत स्वरूपित समीकरण प्राप्त होता है तो इस ऑप का व्यवहार अपरिभाषित है; चूँकि सत्यापन ग्राफ-निर्माण समय पर किया जाता है, हम रनटाइम पर प्रारूप सत्यापन जाँच को छोड़ देते हैं।
ध्यान दें: इस ऑप का उद्देश्य उपयोगकर्ता द्वारा कॉल करना नहीं है; इसके बजाय उपयोगकर्ताओं को सीधे tf.einsum
पर कॉल करना चाहिए। यह tf.einsum
द्वारा उपयोग किया जाने वाला एक छिपा हुआ Op है।
निम्नलिखित नियमों के अनुसार इनपुट पर संचालन लागू किया जाता है:
(ए) सामान्यीकृत विकर्ण: एक ही इनपुट सबस्क्रिप्ट में एक से अधिक बार दिखाई देने वाले अक्ष लेबल के अनुरूप इनपुट आयामों के लिए, हम सामान्यीकृत (`k`-आयामी) विकर्ण लेते हैं। उदाहरण के लिए, समीकरण `iii->i` में इनपुट आकार `[3, 3, 3]` के साथ, सामान्यीकृत विकर्ण में सूचकांक `(0, 0, 0)`, `(1) पर `3` तत्व शामिल होंगे , 1, 1)` और `(2, 2, 2)` आकार का एक टेंसर बनाने के लिए `[3]`।
(बी) कमी: केवल एक इनपुट सबस्क्रिप्ट में दिखाई देने वाले लेकिन आउटपुट सबस्क्रिप्ट में नहीं दिखने वाले लेबल के अनुरूप अक्षों को टेन्सर संकुचन से पहले संक्षेपित किया जाता है। उदाहरण के लिए, समीकरण `ab,bc->b` में, अक्ष लेबल `a` और `c` कमी अक्ष लेबल हैं।
(सी) बैच आयाम: प्रत्येक इनपुट सबस्क्रिप्ट और आउटपुट सबस्क्रिप्ट में दिखाई देने वाले लेबल के अनुरूप अक्ष टेन्सर संकुचन में बैच आयाम बनाते हैं। इलिप्सिस (`...`) के अनुरूप अनाम अक्ष लेबल भी बैच आयामों के अनुरूप हैं। उदाहरण के लिए, बैच मैट्रिक्स गुणन को दर्शाने वाले समीकरण के लिए, `bij,bjk->bik`, अक्ष लेबल `b` एक बैच आयाम से मेल खाता है।
(डी) संकुचन: बाइनरी ईइन्सम के मामले में, दो अलग-अलग इनपुट (और आउटपुट में नहीं) में दिखाई देने वाले लेबल के अनुरूप अक्ष एक दूसरे के खिलाफ अनुबंधित होते हैं। बैच मैट्रिक्स गुणन समीकरण (`bij,bjk->bik`) को फिर से ध्यान में रखते हुए, अनुबंधित अक्ष लेबल `j` है।
(ई) विकर्ण का विस्तार करें: यदि आउटपुट सबस्क्रिप्ट में दोहराए गए (स्पष्ट) अक्ष लेबल होते हैं, तो (ए) का विपरीत ऑपरेशन लागू किया जाता है। उदाहरण के लिए, समीकरण `i->iii`, और इनपुट आकार `[3]` में, आकार `[3, 3, 3]` का आउटपुट सभी शून्य हैं, (सामान्यीकृत) विकर्ण को छोड़कर जो कि भरा हुआ है इनपुट से मान. नोट: यह ऑपरेशन `np.einsum` या tf.einsum
द्वारा समर्थित नहीं है; यह tf.einsum
के प्रतीकात्मक ग्रेडिएंट की गणना करने में सक्षम बनाने के लिए प्रदान किया गया है।
आउटपुट सबस्क्रिप्ट में केवल कम से कम एक इनपुट सबस्क्रिप्ट में दिखने वाले लेबल होने चाहिए। इसके अलावा, समान अक्ष लेबल पर सभी आयामों की मैपिंग समान होनी चाहिए।
किसी भी इनपुट और आउटपुट सबस्क्रिप्ट में अधिकतम एक इलिप्सिस (`...`) हो सकता है। ये दीर्घवृत्त किसी भी नामित अक्ष लेबल के अनुरूप नहीं होने वाले आयामों के विरुद्ध मैप किए गए हैं। यदि दो इनपुट में इलिप्सिस है, तो उन्हें मानक NumPy प्रसारण [नियम] (http://docs.scipy.org/doc/numpy/user/basics.broadcasting.html) के अनुसार प्रसारित किया जाता है।
प्रसारित आयामों को आउटपुट सबस्क्रिप्ट में इलिप्सिस के संबंधित स्थान पर रखा गया है। यदि प्रसारित आयाम गैर-रिक्त हैं और आउटपुट सबस्क्रिप्ट में इलिप्सिस नहीं है, तो एक InvalidArgument त्रुटि उत्पन्न होती है।
स्थिरांक
डोरी | OP_NAME | इस ऑप का नाम, जैसा कि TensorFlow कोर इंजन द्वारा जाना जाता है |
सार्वजनिक तरीके
आउटपुट <T> | आउटपुट के रूप में () टेंसर का प्रतीकात्मक हैंडल लौटाता है। |
स्थैतिक <टी टीटाइप > ईन्सम <टी> का विस्तार करता है | |
आउटपुट <T> | आउटपुट () 'समीकरण' के आधार पर आकार के साथ आउटपुट टेंसर। |
विरासत में मिली विधियाँ
स्थिरांक
सार्वजनिक स्थैतिक अंतिम स्ट्रिंग OP_NAME
इस ऑप का नाम, जैसा कि TensorFlow कोर इंजन द्वारा जाना जाता है
सार्वजनिक तरीके
सार्वजनिक आउटपुट <T> asOutput ()
टेंसर का प्रतीकात्मक हैंडल लौटाता है।
TensorFlow संचालन के इनपुट किसी अन्य TensorFlow ऑपरेशन के आउटपुट हैं। इस पद्धति का उपयोग एक प्रतीकात्मक हैंडल प्राप्त करने के लिए किया जाता है जो इनपुट की गणना का प्रतिनिधित्व करता है।
सार्वजनिक स्थैतिक Einsum <T> बनाएं ( स्कोप स्कोप, Iterable< ऑपरेंड <T>> इनपुट, स्ट्रिंग समीकरण)
एक नए ईन्सम ऑपरेशन को लपेटकर एक क्लास बनाने की फ़ैक्टरी विधि।
पैरामीटर
दायरा | वर्तमान दायरा |
---|---|
आदानों | 1 या 2 टेंसर की सूची। |
समीकरण | आइंस्टीन सारांश ऑपरेशन का वर्णन करने वाली स्ट्रिंग; np.einsum के प्रारूप में। |
रिटर्न
- आइंसम का एक नया उदाहरण