TPU প্রতিলিপি জুড়ে ডেটা বিনিময় করার জন্য একটি অপশন।
প্রতিটি প্রতিলিপিতে, ইনপুটটিকে `split_dimension` বরাবর `split_count` ব্লকে বিভক্ত করা হয় এবং প্রদত্ত গ্রুপ_অ্যাসাইনমেন্টের অন্যান্য প্রতিলিপিতে পাঠানো হয়। অন্যান্য প্রতিলিপি থেকে `split_count` - 1 ব্লক পাওয়ার পর, আমরা আউটপুট হিসাবে `concat_dimension` বরাবর ব্লকগুলিকে সংযুক্ত করি।
উদাহরণস্বরূপ, ধরুন 2 টি টিপিইউ প্রতিলিপি রয়েছে: প্রতিলিপি 0 ইনপুট গ্রহণ করে: `[[A, B]]` প্রতিরূপ 1 ইনপুট গ্রহণ করে: `[[C, D]]`
group_assignment=`[[0, 1]]` concat_dimension=0 split_dimension=1 split_count=2
রেপ্লিকা 0 এর আউটপুট: `[[A], [C]]` রেপ্লিকা 1 এর আউটপুট: `[[B], [D]]`
পাবলিক পদ্ধতি
আউটপুট <টি> | asOutput () একটি টেনসরের প্রতীকী হ্যান্ডেল প্রদান করে। |
স্ট্যাটিক <টি> AllToAll <টি> | |
আউটপুট <টি> | আউটপুট () বিনিময় ফলাফল. |
উত্তরাধিকারসূত্রে প্রাপ্ত পদ্ধতি
পাবলিক পদ্ধতি
পাবলিক আউটপুট <টি> asOutput ()
একটি টেনসরের প্রতীকী হ্যান্ডেল প্রদান করে।
TensorFlow অপারেশনের ইনপুট হল অন্য TensorFlow অপারেশনের আউটপুট। এই পদ্ধতিটি একটি সিম্বলিক হ্যান্ডেল পেতে ব্যবহৃত হয় যা ইনপুটের গণনার প্রতিনিধিত্ব করে।
পাবলিক স্ট্যাটিক AllToAll <টি> তৈরি করুন ( ব্যাপ্তি সুযোগ প্রতীক <টি> ইনপুট, প্রতীক <integer> groupAssignment, লং concatDimension, লং splitDimension, লং splitCount)
একটি নতুন AllToAll অপারেশন মোড়ানো একটি ক্লাস তৈরি করার কারখানার পদ্ধতি।
পরামিতি
সুযোগ | বর্তমান সুযোগ |
---|---|
ইনপুট | সমষ্টিতে স্থানীয় ইনপুট। |
গ্রুপ অ্যাসাইনমেন্ট | আকৃতি সহ একটি int32 টেনসর [সংখ্যা_গোষ্ঠী, সংখ্যা_প্রতিরূপ_প্রতি_গ্রুপ]। `group_assignment[i]` ith সাবগ্রুপের রেপ্লিকা আইডি উপস্থাপন করে। |
concat মাত্রা | সংযুক্ত করার জন্য মাত্রা সংখ্যা। |
বিভক্ত মাত্রা | বিভক্ত করার জন্য মাত্রা সংখ্যা। |
splitCount | বিভাজনের সংখ্যা, এই সংখ্যাটি অবশ্যই সাব-গ্রুপ আকারের সমান হবে(group_assignment.get_shape()[1]) |
রিটার্নস
- AllToAll এর একটি নতুন উদাহরণ