عملية لتبادل البيانات عبر نسخ TPU المتماثلة.
في كل نسخة متماثلة، يتم تقسيم الإدخال إلى كتل `split_count` بطول `split_dimension` وإرسالها إلى النسخ المتماثلة الأخرى المعطاة لمجموعة_تعيين. بعد تلقي كتل `split_count` - 1 من النسخ المتماثلة الأخرى، نقوم بتسلسل الكتل على طول `concat_dimension` كمخرجات.
على سبيل المثال، لنفترض أن هناك نسختين متماثلتين من مادة TPU: النسخة المتماثلة 0 تتلقى الإدخال: `[[A, B]]` النسخة المتماثلة 1 تتلقى الإدخال: `[[C, D]]`
group_signment=`[[0, 1]]` concat_dimension=0 Split_dimension=1 Split_count=2
إخراج النسخة المتماثلة 0: `[[A], [C]]` إخراج النسخة المتماثلة 1: `[[B], [D]]`
الثوابت
خيط | OP_NAME | اسم هذه العملية كما هو معروف بواسطة محرك TensorFlow الأساسي |
الأساليب العامة
الإخراج <T> | كإخراج () إرجاع المقبض الرمزي للموتر. |
ثابت <T يمتد TType > AllToAll <T> | |
الإخراج <T> | انتاج () النتيجة المتبادلة. |
الطرق الموروثة
الثوابت
السلسلة النهائية الثابتة العامة OP_NAME
اسم هذه العملية كما هو معروف بواسطة محرك TensorFlow الأساسي
الأساليب العامة
الإخراج العام <T> كإخراج ()
إرجاع المقبض الرمزي للموتر.
المدخلات إلى عمليات TensorFlow هي مخرجات عملية TensorFlow أخرى. يتم استخدام هذه الطريقة للحصول على مقبض رمزي يمثل حساب الإدخال.
إنشاء AllToAll <T> ثابت عام (نطاق النطاق ، إدخال المعامل <T>، المعامل < TInt32 > groupAssignment، Long concatDimension، Long SplitDimension، Long SplitCount)
طريقة المصنع لإنشاء فئة تغلف عملية AllToAll جديدة.
حدود
نِطَاق | النطاق الحالي |
---|---|
مدخل | الإدخال المحلي للمجموع. |
مهمه المجموعه | موتر int32 بالشكل [num_groups, num_replicas_per_group]. يمثل `group_signment[i]` المعرفات المتماثلة في المجموعة الفرعية i. |
concatDimension | رقم البعد المراد تسلسله. |
com.splitDimension | رقم البعد المراد تقسيمه. |
SplitCount | عدد الانقسامات، يجب أن يكون هذا العدد مساويا لحجم المجموعة الفرعية (group_assiment.get_shape()[1]) |
عائدات
- مثيل جديد من AllToAll