`पैराम्स` से स्लाइस को `इंडिसेज़` द्वारा निर्दिष्ट आकार के साथ एक टेंसर में इकट्ठा करें।
`सूचकांक` एक K-आयामी पूर्णांक टेंसर है, जिसे `params` में सूचकांकों के (K-1)-आयामी टेंसर के रूप में सबसे अच्छा माना जाता है, जहां प्रत्येक तत्व `params` के एक स्लाइस को परिभाषित करता है:
आउटपुट[\\(i_0, ..., i_{K-2}\\)] = पैरामीटर[सूचकांक[\\(i_0, ..., i_{K-2}\\)]]
जबकि tf.gather
में `indices` स्लाइस को `params` के `axis` आयाम में परिभाषित करता है, tf.gather_nd
में, `indices` स्लाइस को `params` के पहले `N` आयामों में परिभाषित करता है, जहां `N = indices.shape [-1]`.
`सूचकांकों` का अंतिम आयाम अधिकतम `पैराम` की रैंक हो सकता है:
सूचकांक.आकार[-1] <= पैरामीटर.रैंक
`सूचकांक` का अंतिम आयाम तत्वों से मेल खाता है (यदि `indices.shape[-1] ==params.rank`) या स्लाइस (यदि `indices.shape[-1] <params.rank`) आयाम `सूचकांकों के साथ। `params` का आकार[-1]`। आउटपुट टेंसर का आकार होता है
सूचकांक आकार[:-1] + पैरामीटर आकार[सूचकांक आकार[-1]:]
ध्यान दें कि सीपीयू पर, यदि कोई आउट ऑफ बाउंड इंडेक्स पाया जाता है, तो एक त्रुटि वापस आ जाती है। जीपीयू पर, यदि आउट ऑफ बाउंड इंडेक्स पाया जाता है, तो संबंधित आउटपुट मान में 0 संग्रहीत किया जाता है।
नीचे कुछ उदाहरण.
मैट्रिक्स में सरल अनुक्रमण:
indices = [[0, 0], [1, 1]]
params = [['a', 'b'], ['c', 'd']]
output = ['a', 'd']
मैट्रिक्स में स्लाइस अनुक्रमण: indices = [[1], [0]]
params = [['a', 'b'], ['c', 'd']]
output = [['c', 'd'], ['a', 'b']]
3-टेंसर में अनुक्रमण: indices = [[1]]
params = [[['a0', 'b0'], ['c0', 'd0']],
[['a1', 'b1'], ['c1', 'd1']]]
output = [[['a1', 'b1'], ['c1', 'd1']]]
indices = [[0, 1], [1, 0]]
params = [[['a0', 'b0'], ['c0', 'd0']],
[['a1', 'b1'], ['c1', 'd1']]]
output = [['c0', 'd0'], ['a1', 'b1']]
indices = [[0, 0, 1], [1, 0, 1]]
params = [[['a0', 'b0'], ['c0', 'd0']],
[['a1', 'b1'], ['c1', 'd1']]]
output = ['b0', 'b1']
एक मैट्रिक्स में बैच अनुक्रमण: indices = [[[0, 0]], [[0, 1]]]
params = [['a', 'b'], ['c', 'd']]
output = [['a'], ['b']]
मैट्रिक्स में बैचेड स्लाइस अनुक्रमण: indices = [[[1]], [[0]]]
params = [['a', 'b'], ['c', 'd']]
output = [[['c', 'd']], [['a', 'b']]]
3-टेंसर में बैच अनुक्रमण: indices = [[[1]], [[0]]]
params = [[['a0', 'b0'], ['c0', 'd0']],
[['a1', 'b1'], ['c1', 'd1']]]
output = [[[['a1', 'b1'], ['c1', 'd1']]],
[[['a0', 'b0'], ['c0', 'd0']]]]
indices = [[[0, 1], [1, 0]], [[0, 0], [1, 1]]]
params = [[['a0', 'b0'], ['c0', 'd0']],
[['a1', 'b1'], ['c1', 'd1']]]
output = [[['c0', 'd0'], ['a1', 'b1']],
[['a0', 'b0'], ['c1', 'd1']]]
indices = [[[0, 0, 1], [1, 0, 1]], [[0, 1, 1], [1, 1, 0]]]
params = [[['a0', 'b0'], ['c0', 'd0']],
[['a1', 'b1'], ['c1', 'd1']]]
output = [['b0', 'b1'], ['d0', 'c1']]
tf.gather
और `tf.batch_gather` भी देखें। सार्वजनिक तरीके
आउटपुट <T> | आउटपुट के रूप में () टेंसर का प्रतीकात्मक हैंडल लौटाता है। |
स्थिर <टी, यू संख्या बढ़ाता है> इकट्ठा करता है <टी> | |
आउटपुट <T> | आउटपुट () `पैराम्स` से मान `indices.shape[:-1] +params.shape[indices.shape[-1]:]` आकार के साथ `indices` द्वारा दिए गए सूचकांकों से एकत्रित किए गए। |
विरासत में मिली विधियाँ
सार्वजनिक तरीके
सार्वजनिक आउटपुट <T> asOutput ()
टेंसर का प्रतीकात्मक हैंडल लौटाता है।
TensorFlow संचालन के इनपुट किसी अन्य TensorFlow ऑपरेशन के आउटपुट हैं। इस पद्धति का उपयोग एक प्रतीकात्मक हैंडल प्राप्त करने के लिए किया जाता है जो इनपुट की गणना का प्रतिनिधित्व करता है।
सार्वजनिक स्थैतिक GatherNd <T> बनाएं ( स्कोप स्कोप, ऑपरेंड <T> पैरामीटर्स, ऑपरेंड <U> सूचकांक)
नए GatherNd ऑपरेशन को लपेटकर एक क्लास बनाने की फ़ैक्टरी विधि।
पैरामीटर
दायरा | वर्तमान दायरा |
---|---|
पैरामीटर | वह टेंसर जिससे मान एकत्रित करना है। |
सूचकांक | सूचकांक टेंसर. |
रिटर्न
- GatherNd का एक नया उदाहरण
सार्वजनिक आउटपुट <T> आउटपुट ()
`पैराम्स` से मान `indices.shape[:-1] +params.shape[indices.shape[-1]:]` आकार के साथ `indices` द्वारा दिए गए सूचकांकों से एकत्रित किए गए।