`इनपुट` से एक तिरछा टुकड़ा लौटाएं।
ध्यान दें, अधिकांश पायथन उपयोगकर्ता सीधे इस सेशन के बजाय Python Tensor.__getitem__
या Variable.__getitem__
का उपयोग करना चाहेंगे।
इस ऑप का लक्ष्य `n` आयामी `इनपुट` टेंसर से तत्वों के सबसेट के साथ एक नया टेंसर तैयार करना है। इस फ़ंक्शन के तर्कों में एन्कोड किए गए `m` विरल श्रेणी विनिर्देशों के अनुक्रम का उपयोग करके सबसेट का चयन किया जाता है। ध्यान दें, कुछ मामलों में `m` `n` के बराबर हो सकता है, लेकिन ऐसा होने की आवश्यकता नहीं है। प्रत्येक श्रेणी विनिर्देश प्रविष्टि निम्न में से एक हो सकती है:
- एक दीर्घवृत्त (...)। दीर्घवृत्त का उपयोग पूर्ण-आयाम चयन के शून्य या अधिक आयामों को दर्शाने के लिए किया जाता है और `ellipsis_mask` का उपयोग करके निर्मित किया जाता है। उदाहरण के लिए, `foo[...]` पहचान टुकड़ा है।
- एक नई धुरी। इसका उपयोग एक नया आकार = 1 आयाम सम्मिलित करने के लिए किया जाता है और इसे `new_axis_mask` का उपयोग करके बनाया जाता है। उदाहरण के लिए, `foo[:, ...]` जहां `foo` आकार है `(3, 4)` एक `(1, 3, 4)` टेंसर उत्पन्न करता है।
- एक श्रेणी `शुरू: अंत: स्ट्राइड`। इसका उपयोग यह निर्दिष्ट करने के लिए किया जाता है कि किसी दिए गए आयाम से कितना चुनना है। `स्ट्राइड` कोई भी पूर्णांक हो सकता है लेकिन 0. `शुरू` एक पूर्णांक है जो चयन करने के लिए पहले मान के सूचकांक का प्रतिनिधित्व करता है जबकि `अंत` चयन करने के लिए अंतिम मान के सूचकांक का प्रतिनिधित्व करता है। प्रत्येक आयाम में चयनित मानों की संख्या `अंत - प्रारंभ` है यदि `स्ट्राइड > 0` और `शुरुआत - अंत` यदि `स्ट्राइड <0` है। `शुरू` और `अंत` नकारात्मक हो सकता है जहां `-1` अंतिम तत्व है, `-2` दूसरा से अंतिम है। `begin_mask` नियंत्रित करता है कि स्पष्ट रूप से दिए गए `शुरुआत` को `0` के निहित प्रभावी मान के साथ बदलना है या नहीं यदि `स्ट्राइड > 0` और `-1` अगर `स्ट्राइड <0` है। `end_mask` अनुरूप है लेकिन सबसे बड़ा खुला अंतराल बनाने के लिए आवश्यक संख्या उत्पन्न करता है। उदाहरण के लिए, एक आकार दिया गया `(3,)` टेंसर `foo[:]`, प्रभावी `शुरू` और `अंत` `0` और `3` हैं। यह न मानें कि यह `foo[0:-1]` के बराबर है जिसका प्रभावी `प्रारंभ` और `अंत` `0` और `2` है। एक अन्य उदाहरण `foo[-2::-1]` है जो अंतिम दो (मूल क्रम तत्वों में) को छोड़ते हुए एक टेंसर के पहले आयाम को उलट देता है। उदाहरण के लिए `फू = [1,2,3,4]; foo[-2::-1]` `[4,3]` है।
- एक एकल सूचकांक। इसका उपयोग केवल उन तत्वों को रखने के लिए किया जाता है जिनके पास एक दिया गया सूचकांक होता है। उदाहरण के लिए (`foo[2, :]` एक आकृति पर `(5,6)` टेंसर एक आकार `(6,)` टेंसर उत्पन्न करता है। यह `शुरू` और `अंत` और `shrink_axis_mask` में एन्कोड किया गया है।
प्रत्येक वैचारिक श्रेणी विनिर्देश ऑप के तर्क में एन्कोड किया गया है। गैर-तुच्छ उदाहरण पर विचार करके इस एन्कोडिंग को सबसे अच्छी तरह से समझा जा सकता है। विशेष रूप से, `foo[1, 2:4, none, ..., :-3:-1, :]` को
begin = [1, 2, x, x, 0, x] # x denotes don't care (usually 0)
end = [2, 4, x, x, -3, x]
strides = [1, 1, x, x, -1, 1]
begin_mask = 1<<4 | 1<<5 = 48
end_mask = 1<<5 = 32
ellipsis_mask = 1<<3 = 8
new_axis_mask = 1<<2 = 4
shrink_axis_mask = 1<<0 = 1
रूप में एन्कोड किया जाएगा इस मामले में यदि `foo.shape` है (5, 5, 5, 5, 5, 5) स्लाइस का अंतिम आकार (2, 1, 5, 5, 2, 5) बन जाता है। आइए हम प्रत्येक तर्क विनिर्देश के माध्यम से कदम दर कदम चलें।1. उदाहरण के स्लाइस में पहला तर्क `शुरू = 1` और `अंत = प्रारंभ + 1 = 2` में बदल गया है। मूल विनिर्देश `2:4` से अलग होने के लिए हम `shrink_axis_mask` में उपयुक्त बिट भी सेट करते हैं।
2. `2:4` शुरू, खत्म और आगे बढ़ने के लिए 2, 4, 1 का योगदान है। सभी मास्क में शून्य बिट्स का योगदान होता है।
3. कोई नहीं tf.newaxis
का पर्याय नहीं है। इसका मतलब है कि अंतिम आकार में आकार 1 आयाम का आयाम डालें। डमी मानों को शुरू करने, समाप्त करने और आगे बढ़ने में योगदान दिया जाता है, जबकि new_axis_mask बिट सेट होता है।
4. `...` इनपुट आकार के हर आयाम के लिए एक स्लाइस को पूरी तरह से निर्दिष्ट करने के लिए जितने आवश्यक हो उतने आयामों से पूरी रेंज लें।
5. `:-3:-1` नकारात्मक सूचकांकों के उपयोग को दर्शाता है। आकार `s` वाले आयाम से संबद्ध एक ऋणात्मक अनुक्रमणिका `i` धनात्मक अनुक्रमणिका `s + i` में बदल जाती है। तो `-1` बन जाता है `s-1` (अर्थात अंतिम तत्व)। यह रूपांतरण आंतरिक रूप से किया जाता है इसलिए प्रारंभ, अंत और प्रगति x, -3, और -1 प्राप्त करें। उपयुक्त start_mask बिट यह इंगित करने के लिए सेट है कि प्रारंभ सीमा पूर्ण श्रेणी है (x को अनदेखा कर रहा है)।
6. `:` इंगित करता है कि संबंधित आयाम की संपूर्ण सामग्री का चयन किया गया है। यह `::` या `0::1` के बराबर है। प्रारंभ, अंत और चरण क्रमशः 0, 0 और 1 प्राप्त करते हैं। `begin_mask` और `end_mask` में उपयुक्त बिट भी सेट हैं।
आवश्यकताएँ : `0 != स्ट्राइड्स[i] के लिए i in [0, m)` `ellipsis_mask दो की घात होनी चाहिए (केवल एक दीर्घवृत्त)`
नेस्टेड कक्षाएं
कक्षा | स्ट्राइडस्लाइस।विकल्प | StridedSlice के लिए वैकल्पिक विशेषताएँ |
सार्वजनिक तरीके
आउटपुट <टी> | आउटपुट के रूप में () टेंसर का प्रतीकात्मक हैंडल लौटाता है। |
स्थिर स्ट्राइडेड स्लाइस। विकल्प | startMask (लॉन्ग स्टार्टमास्क) |
स्थिर <टी, यू संख्या बढ़ाता है> स्ट्राइडस्लाइस <टी> | |
स्थिर स्ट्राइडेड स्लाइस। विकल्प | इलिप्सिसमास्क (लॉन्ग इलिप्सिसमास्क) |
स्थिर स्ट्राइडेड स्लाइस। विकल्प | एंडमास्क (लॉन्ग एंडमास्क) |
स्थिर स्ट्राइडेड स्लाइस। विकल्प | newAxisMask (लॉन्ग newAxisMask) |
आउटपुट <टी> | आउटपुट () |
स्थिर स्ट्राइडेड स्लाइस। विकल्प | सिकोड़ेंएक्सिसमास्क (लंबी सिकुड़ी एक्सिसमास्क) |
विरासत में मिली विधियां
सार्वजनिक तरीके
सार्वजनिक आउटपुट <T> आउटपुट के रूप में ()
टेंसर का प्रतीकात्मक हैंडल लौटाता है।
TensorFlow संचालन के लिए इनपुट एक अन्य TensorFlow ऑपरेशन के आउटपुट हैं। इस पद्धति का उपयोग एक प्रतीकात्मक हैंडल प्राप्त करने के लिए किया जाता है जो इनपुट की गणना का प्रतिनिधित्व करता है।
सार्वजनिक स्थैतिक स्ट्राइडेडस्लाइस । विकल्प प्रारंभमास्क (लंबी शुरुआतमास्क )
मापदंडों
प्रारंभमास्क | एक बिटमास्क जहां थोड़ा मैं 1 होने का मतलब है कि शुरुआती मूल्य को अनदेखा करना और इसके बजाय सबसे बड़े अंतराल का उपयोग करना संभव है। रनटाइम पर शुरू [i] को `[0, n-1)` से बदल दिया जाएगा यदि `स्ट्राइड [i] > 0` या `[-1, n-1]` अगर `स्ट्राइड [i] <0` |
---|
पब्लिक स्टैटिक स्ट्राइडेडस्लाइस <टी> क्रिएट ( स्कोप स्कोप, ऑपरेंड <टी> इनपुट, ऑपरेंड <यू> स्टार्ट, ऑपरेंड <यू> एंड, ऑपरेंड <यू> स्ट्राइड्स, ऑप्शंस ... विकल्प)
एक नया स्ट्राइडेडस्लाइस ऑपरेशन रैपिंग क्लास बनाने के लिए फ़ैक्टरी विधि।
मापदंडों
दायरा | वर्तमान दायरा |
---|---|
शुरू | `शुरू [के]` ऑफसेट को `के`वें श्रेणी विनिर्देश में निर्दिष्ट करता है। यह जिस सटीक आयाम से मेल खाती है, वह संदर्भ द्वारा निर्धारित किया जाएगा। सीमा से बाहर के मान चुपचाप बंद कर दिए जाएंगे। यदि `begin_mask` के `k` वें बिट को `शुरू करें [k]` को नजरअंदाज कर दिया जाता है और इसके बजाय उपयुक्त आयाम की पूरी श्रृंखला का उपयोग किया जाता है। नकारात्मक मानों के कारण अनुक्रमण उच्चतम तत्व से शुरू होता है जैसे यदि `foo==[1,2,3]` तो `foo[-1]==3` है। |
समाप्त | `अंत [i]` `शुरू` जैसा है, अपवाद के साथ कि `end_mask` का उपयोग पूर्ण श्रेणियों को निर्धारित करने के लिए किया जाता है। |
प्रगति | `स्ट्राइड्स [i]` किसी दिए गए तत्व को निकालने के बाद `i`वें विनिर्देश में वृद्धि को निर्दिष्ट करता है। नकारात्मक सूचकांक मूल क्रम को उलट देंगे। आउट या रेंज वैल्यू को `[0,dim[i]) अगर स्लाइस[i]>0` या `[-1,dim[i]-1] अगर स्लाइस[i] <0` |
विकल्प | वैकल्पिक विशेषता मान रखता है |
रिटर्न
- स्ट्राइडेडस्लाइस का एक नया उदाहरण
पब्लिक स्टैटिक स्ट्राइडेडस्लाइस.ऑप्शन्स इलिप्सिसमास्क ( लॉन्ग इलिप्सिसमास्क)
मापदंडों
इलिप्सिसमास्क | एक बिटमास्क जहां बिट `i` 1 होने का अर्थ है `i`वें स्थान वास्तव में एक दीर्घवृत्त है। अधिक से अधिक एक बिट 1 हो सकता है। यदि `एलिप्सिस_मास्क == 0`, तो `1 << (एम+1)` का एक अंतर्निहित इलिप्सिस मुखौटा प्रदान किया जाता है। इसका मतलब है कि `foo[3:5] == foo[3:5, ...]`। एक इलिप्सिस प्रत्येक आयाम के लिए पूरी तरह से कटा हुआ श्रेणी निर्दिष्ट करने के लिए आवश्यक रूप से कई श्रेणी विनिर्देश बनाता है। उदाहरण के लिए 4-आयामी टेंसर `foo` के लिए टुकड़ा `foo[2, ..., 5:8]` का अर्थ है `foo[2, :, :, 5:8]`। |
---|
सार्वजनिक स्थैतिक स्ट्राइडेडस्लाइस । विकल्प एंडमास्क (लॉन्ग एंडमास्क)
मापदंडों
एंडमास्क | `begin_mask` . के समान |
---|
सार्वजनिक स्थैतिक स्ट्राइडेडस्लाइस । विकल्प newAxisMask (लंबा newAxisMask)
मापदंडों
न्यूएक्सिसमास्क | एक बिटमास्क जहां बिट `i` 1 होने का अर्थ है `i`th विनिर्देश एक नया आकार 1 आयाम बनाता है। उदाहरण के लिए `foo[:4, tf.newaxis, :2]` एक आकार `(4, 1, 2)` टेंसर का उत्पादन करेगा। |
---|
सार्वजनिक स्थैतिक स्ट्राइडेडस्लाइस । विकल्प सिकोड़ेंएक्सिसमास्क (लंबी सिकुड़न एक्सिसमास्क )
मापदंडों
सिकोड़ेंएक्सिसमास्क | एक बिटमास्क जहां बिट `i` का तात्पर्य है कि `i`वें विनिर्देश को आयाम को सिकोड़ना चाहिए। प्रारंभ और अंत में आयाम में आकार 1 का एक टुकड़ा होना चाहिए। उदाहरण के लिए अजगर में कोई `foo[:, 3, :]` कर सकता है जिसके परिणामस्वरूप `srink_axis_mask` 2 होगा। |
---|