मौजूदा टेंसर में 'सूचकांक' के अनुसार विरल 'अपडेट' जोड़ता है।
यह ऑपरेशन पारित `टेंसर` में विरल `अपडेट` को जोड़कर एक नया टेंसर बनाता है। यह ऑपरेशन बहुत हद तक tf.compat.v1.scatter_nd_add
के समान है, सिवाय इसके कि अपडेट मौजूदा टेंसर पर जोड़े जाते हैं (जैसा कि एक चर के विपरीत)। यदि मौजूदा टेंसर की मेमोरी का पुन: उपयोग नहीं किया जा सकता है, तो एक कॉपी बनाई और अपडेट की जाती है।
`सूचकांक` एक पूर्णांक टेंसर है जिसमें आकार के एक नए टेंसर में सूचकांक होते हैं `tensor.shape`। `सूचकांक` का अंतिम आयाम `टेन्सर.आकार` की अधिकतम रैंक पर हो सकता है:
indices.shape[-1] <= tensor.shape.rank
`सूचकांक` का अंतिम आयाम तत्वों में सूचकांक से मेल खाता है (यदि `indices.shape[-1] = tensor.shape. रैंक`) या स्लाइस (यदि `indices.shape[-1] < tensor.shape.rank`) आयाम `indices.shape[-1]` के साथ `tensor.shape`। `अपडेट` आकार के साथ एक टेंसर है indices.shape[:-1] + tensor.shape[indices.shape[-1]:]
`tensor_scatter_nd_add` का सबसे सरल रूप इंडेक्स द्वारा एक टेंसर में अलग-अलग तत्वों को जोड़ना है। उदाहरण के लिए, मान लें कि हम रैंक -1 टेंसर में 8 तत्वों के साथ 4 तत्व जोड़ना चाहते हैं।पायथन में, यह स्कैटर ऐड ऑपरेशन इस तरह दिखेगा:
>>> सूचकांक = tf.constant ([[4], [3], [1, [7]]) >>> अद्यतन = tf.constant ([9, 10, 11, 12]) >>> टेंसर = tf.ones ([8], dtype=tf.int32) >>> अपडेट किया गया = tf.tensor_scatter_nd_add (टेंसर, इंडेक्स, अपडेट) >>> अपडेट किया गया हम एक ही बार में उच्च रैंक टेंसर के पूरे स्लाइस भी डाल सकते हैं। उदाहरण के लिए, यदि हम रैंक -3 टेंसर के पहले आयाम में दो स्लाइस को नए मानों के दो मैट्रिक्स के साथ सम्मिलित करना चाहते हैं। पायथन में, यह स्कैटर ऐड ऑपरेशन इस तरह दिखेगा: >>> सूचकांक = tf.constant([[0], [2]]) >>> अद्यतन = tf.constant([[[5, 5, 5, 5], [6, 6, 6, 6], ... [7, 7, 7, 7], [8, 8, 8, 8]], ... [[5, 5, 5, 5], [6, 6, 6, 6], .. [7, 7, 7, 7], [8, 8, 8, 8]]]) >>> टेंसर = tf.ones([4, 4, 4],dtype=tf.int32) >>> अपडेट किया गया = tf.tensor_scatter_nd_add (टेंसर, इंडेक्स, अपडेट) >>> अपडेट किया गया नोट: सीपीयू पर, यदि एक आउट ऑफ बाउंड इंडेक्स पाया जाता है, तो एक त्रुटि वापस आ जाती है। GPU पर, यदि कोई बाध्य अनुक्रमणिका पाई जाती है, तो अनुक्रमणिका को अनदेखा कर दिया जाता है।
सार्वजनिक तरीके
आउटपुट <टी> | आउटपुट के रूप में () टेंसर का प्रतीकात्मक हैंडल लौटाता है। |
स्थिर <T, U संख्या बढ़ाता है> TensorScatterAdd <T> | |
आउटपुट <टी> | आउटपुट () टेंसर से कॉपी किया गया एक नया टेंसर और इंडेक्स के अनुसार अपडेट जोड़े गए। |
विरासत में मिली विधियां
सार्वजनिक तरीके
सार्वजनिक आउटपुट <T> आउटपुट के रूप में ()
टेंसर का प्रतीकात्मक हैंडल लौटाता है।
TensorFlow संचालन के लिए इनपुट एक अन्य TensorFlow ऑपरेशन के आउटपुट हैं। इस पद्धति का उपयोग एक प्रतीकात्मक हैंडल प्राप्त करने के लिए किया जाता है जो इनपुट की गणना का प्रतिनिधित्व करता है।
सार्वजनिक स्थैतिक TensorScatterAdd <T> बनाएं ( स्कोप स्कोप, ऑपरेंड <T> टेंसर, ऑपरेंड <U> इंडेक्स, ऑपरेंड <T> अपडेट)
एक नया TensorScatterAdd ऑपरेशन रैपिंग क्लास बनाने के लिए फ़ैक्टरी विधि।
मापदंडों
दायरा | वर्तमान दायरा |
---|---|
टेन्सर | कॉपी/अपडेट करने के लिए टेंसर। |
सूचकांक | सूचकांक टेंसर। |
अपडेट | आउटपुट में बिखराव के लिए अद्यतन। |
रिटर्न
- TensorScatterAdd का एक नया उदाहरण
सार्वजनिक आउटपुट <T> आउटपुट ()
टेंसर से कॉपी किया गया एक नया टेंसर और इंडेक्स के अनुसार अपडेट जोड़े गए।