یک عملیات برای تبادل داده در بین کپی های TPU.
در هر ماکت، ورودی به بلوکهای 'split_count' در امتداد 'split_dimension' تقسیم میشود و به دیگر replicaهای دادهشده group_assignment ارسال میشود. پس از دریافت 'split_count' - 1 بلوک از دیگر replica ها، بلوک ها را در امتداد 'concat_dimension' به عنوان خروجی به هم متصل می کنیم.
به عنوان مثال، فرض کنید 2 کپی TPU وجود دارد: replica 0 ورودی را دریافت می کند: `[[A, B]]` replica 1 ورودی را دریافت می کند: `[[C, D]]`
group_assignment=`[[0, 1]]` concat_dimension=0 split_dimension=1 split_count=2
خروجی replica 0: `[[A], [C]]` خروجی replica 1: `[[B], [D]]`
ثابت ها
رشته | OP_NAME | نام این عملیات، همانطور که توسط موتور هسته TensorFlow شناخته می شود |
روش های عمومی
خروجی <T> | asOutput () دسته نمادین تانسور را برمی گرداند. |
static <T TType > AllToAll <T> را گسترش می دهد | |
خروجی <T> | خروجی () نتیجه رد و بدل شده |
روش های ارثی
ثابت ها
رشته نهایی ثابت عمومی OP_NAME
نام این عملیات، همانطور که توسط موتور هسته TensorFlow شناخته می شود
روش های عمومی
خروجی عمومی <T> asOutput ()
دسته نمادین تانسور را برمی گرداند.
ورودی های عملیات TensorFlow خروجی های عملیات تنسورفلو دیگر هستند. این روش برای به دست آوردن یک دسته نمادین که نشان دهنده محاسبه ورودی است استفاده می شود.
ایستا عمومی AllToAll <T> ایجاد ( دامنه دامنه ، ورودی عملوند <T>، عملوند < TINT32 > groupAssignment، ConcatDimension طولانی، ابعاد تقسیم طولانی، Long splitCount)
روش Factory برای ایجاد کلاسی که یک عملیات AllToAll جدید را بسته بندی می کند.
مولفه های
محدوده | محدوده فعلی |
---|---|
ورودی | ورودی محلی به جمع. |
گروه انتساب | یک تانسور int32 با شکل [num_groups, num_replicas_per_group]. «group_assignment[i]» نشاندهنده شناسههای مشابه در زیرگروه i است. |
ConcatDimension | عدد بعد برای الحاق. |
splitDimension | عدد بعد برای تقسیم. |
splitCount | تعداد تقسیمها، این عدد باید برابر با اندازه زیر گروه باشد(group_assignment.get_shape()[1]) |
برمی گرداند
- یک نمونه جدید از AllToAll