टीपीयू प्रतिकृतियों में डेटा का आदान-प्रदान करने के लिए एक ओप।
प्रत्येक प्रतिकृति पर, इनपुट को `split_dimension` के साथ `split_count` ब्लॉक में विभाजित किया जाता है और अन्य प्रतिकृतियों को group_assignment दिया जाता है। अन्य प्रतिकृतियों से `split_count` - 1 ब्लॉक प्राप्त करने के बाद, हम आउटपुट के रूप में `concat_dimension` के साथ ब्लॉकों को जोड़ते हैं।
उदाहरण के लिए, मान लें कि 2 टीपीयू प्रतिकृतियां हैं: प्रतिकृति 0 इनपुट प्राप्त करती है: `[[ए, बी]]` प्रतिकृति 1 इनपुट प्राप्त करती है: `[[सी, डी]]`
group_assignment=`[[0, 1]]` concat_dimension=0 split_dimension=1 split_count=2
प्रतिकृति 0 का आउटपुट: `[[ए], [सी]]` प्रतिकृति 1 का आउटपुट: `[[बी], [डी]]`
सार्वजनिक तरीके
आउटपुट <टी> | asOutput () टेंसर का प्रतीकात्मक हैंडल लौटाता है। |
स्थिर <टी> AllToAll <टी> | |
आउटपुट <टी> | उत्पादन () विनिमय परिणाम। |
विरासत में मिली विधियां
सार्वजनिक तरीके
सार्वजनिक आउटपुट <टी> asOutput ()
टेंसर का प्रतीकात्मक हैंडल लौटाता है।
TensorFlow संचालन के लिए इनपुट एक अन्य TensorFlow ऑपरेशन के आउटपुट हैं। इस पद्धति का उपयोग एक प्रतीकात्मक हैंडल प्राप्त करने के लिए किया जाता है जो इनपुट की गणना का प्रतिनिधित्व करता है।
सार्वजनिक स्थिर AllToAll <टी> बनाने ( स्कोप गुंजाइश, ओपेरैंड <टी> इनपुट, ओपेरैंड <पूर्णांक> groupAssignment, लांग concatDimension, लांग splitDimension, लांग splitCount)
एक नया AllToAll ऑपरेशन रैपिंग क्लास बनाने के लिए फ़ैक्टरी विधि।
मापदंडों
दायरा | वर्तमान दायरा |
---|---|
इनपुट | योग के लिए स्थानीय इनपुट। |
समूह कार्य | आकार के साथ एक int32 टेंसर [num_groups, num_replicas_per_group]। `group_assignment[i]` ith उपसमूह में रेप्लिका आईडी का प्रतिनिधित्व करता है। |
समवर्ती आयाम | जोड़ने के लिए आयाम संख्या। |
विभाजन आयाम | विभाजित करने के लिए आयाम संख्या। |
स्प्लिटकाउंट | विभाजनों की संख्या, यह संख्या उप-समूह आकार के बराबर होनी चाहिए (group_assignment.get_shape()[1]) |
रिटर्न
- AllToAll का एक नया उदाहरण