DynamicPartition

מחלקה סופית ציבורית DynamicPartition

מחלקים `נתונים` לטנזורים `num_partitions` באמצעות אינדקסים מ`מחיצות`.

עבור כל אינדקס tuple `js` בגודל `partitions.ndim`, הפרוסה `data[js, ...]` הופכת לחלק מ`outputs[partitions[js]]`. הפרוסות עם `מחיצות[js] = i` ממוקמות ב`פלטים[i]` בסדר לקסיקוגרפי של `js`, והממד הראשון של `פלטים[i]` הוא מספר הערכים ב`מחיצות` שווה ל `אני`. בפירוט,

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` לדוגמא כיצד למזג מחיצות בחזרה.

שיטות ציבוריות

סטטי <T> DynamicPartition <T>
צור ( scope scope, Operand <T> data, Operand <Integer> מחיצות, Long numPartitions)
שיטת מפעל ליצירת מחלקה העוטפת פעולת DynamicPartition חדשה.
איטרטור< Operand <T>>
רשימה< פלט <T>>

שיטות בירושה

שיטות ציבוריות

Public Static DynamicPartition <T> create ( scope scope, Operand <T> data, Operand <Integer> מחיצות, Long numPartitions)

שיטת מפעל ליצירת מחלקה העוטפת פעולת DynamicPartition חדשה.

פרמטרים
תְחוּם ההיקף הנוכחי
מחיצות כל צורה. מדדים בטווח `[0, num_partitions)`.
numPartitions מספר המחיצות לפלט.
החזרות
  • מופע חדש של DynamicPartition

איטרטור ציבורי< Operand <T>> איטרטור ()

רשימה ציבורית< פלט <T>> פלטים ()