DynamicPartition

публичный финальный класс DynamicPartition

Разделяет `данные` на тензоры `num_partitions`, используя индексы из `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` для примера того, как объединить разделы обратно.

Публичные методы

статический <T> DynamicPartition <T>
create (область области действия , данные операнда <T>, разделы операнда <Integer>, длинные numPartitions)
Фабричный метод для создания класса, обертывающего новую операцию DynamicPartition.
Итератор< Операнд <T>>
Список< Выход <T>>

Унаследованные методы

Публичные методы

public static DynamicPartition <T> create (область действия , данные операнда <T>, разделы операнда <Integer>, длинные numPartitions)

Фабричный метод для создания класса, обертывающего новую операцию DynamicPartition.

Параметры
объем текущий объем
перегородки Любая форма. Индексы в диапазоне `[0, num_partitions)`.
numPartitions Количество разделов для вывода.
Возврат
  • новый экземпляр DynamicPartition

общедоступный итератор < Операнд <T>> итератор ()

публичный список< Вывод <T>> выходы ()