یک عملیات برای تبادل داده در بین کپی های 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]]`
روش های عمومی
خروجی <T> | asOutput () دسته نمادین یک تانسور را برمیگرداند. |
استاتیک <T> AllToAll <T> | |
خروجی <T> | خروجی () نتیجه رد و بدل شده |
روش های ارثی
روش های عمومی
خروجی عمومی <T> asOutput ()
دسته نمادین یک تانسور را برمیگرداند.
ورودی های عملیات TensorFlow خروجی های عملیات تنسورفلو دیگر هستند. این روش برای به دست آوردن یک دسته نمادین که نشان دهنده محاسبه ورودی است استفاده می شود.
عمومی استاتیک AllToAll <T> ایجاد ( دامنه دامنه ، ورودی عملوند <T>، عملوند <Integer> groupAssignment، Long concatDimension، Long splitDimension، Long splitCount)
روش Factory برای ایجاد کلاسی که یک عملیات AllToAll جدید را بسته بندی می کند.
مولفه های
محدوده | محدوده فعلی |
---|---|
ورودی | ورودی محلی به جمع. |
گروه انتساب | یک تانسور int32 با شکل [num_groups, num_replicas_per_group]. «group_assignment[i]» نشاندهنده شناسههای مشابه در زیرگروه i است. |
ConcatDimension | عدد بعد برای الحاق. |
splitDimension | عدد بعد برای تقسیم. |
splitCount | تعداد تقسیمها، این عدد باید برابر با اندازه زیر گروه باشد(group_assignment.get_shape()[1]) |
برمی گرداند
- یک نمونه جدید از AllToAll