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