تقسيم "البيانات" إلى موترات "num_partitions" باستخدام مؤشرات من "الأقسام".
لكل صف فهرس `js` بالحجم `partitions.ndim`، تصبح الشريحة `data[js, ...]` جزءًا من `outputs[partitions[js]]`. يتم وضع الشرائح التي تحتوي على `partitions[js] = i` في `outputs[i]` بالترتيب المعجمي لـ `js`، والبعد الأول لـ `outputs[i]` هو عدد الإدخالات في `partitions` الذي يساوي "أنا". بالتفصيل، يجب أن يبدأ
outputs[i].shape = [sum(partitions == i)] + data.shape[partitions.ndim:]
outputs[i] = pack([data[js, ...] for js if partitions[js] == i])
`data.shape` بـ `partitions.shape`.على سبيل المثال:
# Scalar partitions.
partitions = 1
num_partitions = 2
data = [10, 20]
outputs[0] = [] # Empty with shape [0, 2]
outputs[1] = [[10, 20]]
# Vector partitions.
partitions = [0, 0, 1, 1, 0]
num_partitions = 2
data = [10, 20, 30, 40, 50]
outputs[0] = [10, 20, 50]
outputs[1] = [30, 40]
راجع "dynamic_stitch" للحصول على مثال حول كيفية دمج الأقسام مرة أخرى. الثوابت
خيط | OP_NAME | اسم هذه العملية كما هو معروف بواسطة محرك TensorFlow الأساسي |
الأساليب العامة
ثابت <T يمتد TType > DynamicPartition <T> | |
التكرار< المعامل <T>> | مكرر () |
القائمة< الإخراج <T>> | المخرجات () |
الطرق الموروثة
الثوابت
السلسلة النهائية الثابتة العامة OP_NAME
اسم هذه العملية كما هو معروف بواسطة محرك TensorFlow الأساسي
الأساليب العامة
إنشاء قسم DynamicPartition ثابت عام <T> (نطاق النطاق ، بيانات المعامل <T>، أقسام المعامل < TInt32 >، الأقسام الطويلة)
طريقة المصنع لإنشاء فئة تغلف عملية DynamicPartition جديدة.
حدود
نِطَاق | النطاق الحالي |
---|---|
أقسام | أي شكل. المؤشرات في النطاق `[0، num_partitions)`. |
numPartitions | عدد الأقسام المراد إخراجها |
عائدات
- مثيل جديد من DynamicPartition