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]]`
ধ্রুবক
স্ট্রিং | OP_NAME | এই অপের নাম, টেনসরফ্লো কোর ইঞ্জিন দ্বারা পরিচিত |
পাবলিক পদ্ধতি
আউটপুট <T> | আউটপুট হিসাবে () টেনসরের প্রতীকী হ্যান্ডেল ফেরত দেয়। |
স্ট্যাটিক <T TType > AllToAll <T> প্রসারিত করে | |
আউটপুট <T> | আউটপুট () বিনিময় ফলাফল. |
উত্তরাধিকারসূত্রে প্রাপ্ত পদ্ধতি
ধ্রুবক
সর্বজনীন স্ট্যাটিক চূড়ান্ত স্ট্রিং OP_NAME
এই অপের নাম, টেনসরফ্লো কোর ইঞ্জিন দ্বারা পরিচিত
পাবলিক পদ্ধতি
সর্বজনীন আউটপুট <T> হিসাবে আউটপুট ()
টেনসরের প্রতীকী হ্যান্ডেল ফেরত দেয়।
TensorFlow অপারেশনের ইনপুট হল অন্য TensorFlow অপারেশনের আউটপুট। এই পদ্ধতিটি একটি প্রতীকী হ্যান্ডেল পেতে ব্যবহৃত হয় যা ইনপুটের গণনাকে প্রতিনিধিত্ব করে।
পাবলিক স্ট্যাটিক AllToAll <T> তৈরি করুন ( স্কোপ স্কোপ, অপারেন্ড <T> ইনপুট, অপারেন্ড < TInt32 > গ্রুপ অ্যাসাইনমেন্ট, লং কনক্যাট ডাইমেনশন, লং স্প্লিট ডাইমেনশন, লং স্প্লিটকাউন্ট)
একটি নতুন AllToAll অপারেশন মোড়ানো একটি ক্লাস তৈরি করার কারখানা পদ্ধতি।
পরামিতি
সুযোগ | বর্তমান সুযোগ |
---|---|
ইনপুট | সমষ্টিতে স্থানীয় ইনপুট। |
গ্রুপ অ্যাসাইনমেন্ট | আকৃতি সহ একটি int32 টেনসর [সংখ্যা_গোষ্ঠী, সংখ্যা_প্রতিলিপি_প্রতি_গ্রুপ]। `group_assignment[i]` ith সাবগ্রুপের রেপ্লিকা আইডি উপস্থাপন করে। |
concat মাত্রা | সংযুক্ত করার জন্য মাত্রা সংখ্যা। |
বিভক্ত মাত্রা | বিভক্ত করার জন্য মাত্রা সংখ্যা। |
splitCount | বিভাজনের সংখ্যা, এই সংখ্যাটি অবশ্যই সাব-গ্রুপ আকারের সমান হবে(group_assignment.get_shape()[1]) |
রিটার্নস
- AllToAll এর একটি নতুন উদাহরণ