DynamicPartition

classe final pública DynamicPartition

Particiona `data` em tensores `num_partitions` usando índices de `partitions`.

Para cada tupla de índice `js` de tamanho `partitions.ndim`, a fatia `data[js, ...]` torna-se parte de `outputs[partitions[js]]`. As fatias com `partitions[js] = i` são colocadas em `outputs[i]` na ordem lexicográfica de `js`, e a primeira dimensão de `outputs[i]` é o número de entradas em `partitions` igual a `eu`. Em detalhes,

outputs[i].shape = [sum(partitions == i)] + data.shape[partitions.ndim:]
 
     outputs[i] = pack([data[js, ...] for js if partitions[js] == i])
 
`data.shape` deve começar com `partitions.shape`.

Por exemplo:

# 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]
 
Veja `dynamic_stitch` para um exemplo de como mesclar partições de volta.

Gera: * `InvalidArgumentError` nos seguintes casos: - Se as partições não estiverem no intervalo `[0, num_partiions)` - Se `partitions.shape` não corresponder ao prefixo do argumento `data.shape`.

Métodos públicos

static <T> DynamicPartition <T>
criar (escopo do escopo , dados do Operando <T>, partições do Operando <Integer>, NumPartitions longo)
Método de fábrica para criar uma classe envolvendo uma nova operação DynamicPartition.
Iterador < Operando <T>>
Lista< Saída <T>>
saídas ()

Métodos Herdados

Métodos públicos

public static DynamicPartition <T> create ( Scope scope, Operand <T> data, Operand <Integer> partições, Long numPartitions)

Método de fábrica para criar uma classe envolvendo uma nova operação DynamicPartition.

Parâmetros
escopo escopo atual
partições Qualquer forma. Índices no intervalo `[0, num_partitions)`.
numPartitions O número de partições para saída.
devoluções
  • uma nova instância de DynamicPartition

public Iterator< Operand <T>> iterator ()

public List< Output <T>> outputs ()

,
classe final pública DynamicPartition

Particiona `data` em tensores `num_partitions` usando índices de `partitions`.

Para cada tupla de índice `js` de tamanho `partitions.ndim`, a fatia `data[js, ...]` torna-se parte de `outputs[partitions[js]]`. As fatias com `partitions[js] = i` são colocadas em `outputs[i]` na ordem lexicográfica de `js`, e a primeira dimensão de `outputs[i]` é o número de entradas em `partitions` igual a `eu`. Em detalhes,

outputs[i].shape = [sum(partitions == i)] + data.shape[partitions.ndim:]
 
     outputs[i] = pack([data[js, ...] for js if partitions[js] == i])
 
`data.shape` deve começar com `partitions.shape`.

Por exemplo:

# 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]
 
Veja `dynamic_stitch` para um exemplo de como mesclar partições de volta.

Gera: * `InvalidArgumentError` nos seguintes casos: - Se as partições não estiverem no intervalo `[0, num_partiions)` - Se `partitions.shape` não corresponder ao prefixo do argumento `data.shape`.

Métodos públicos

static <T> DynamicPartition <T>
criar (escopo do escopo , dados do Operando <T>, partições do Operando <Integer>, NumPartitions longo)
Método de fábrica para criar uma classe envolvendo uma nova operação DynamicPartition.
Iterador < Operando <T>>
Lista< Saída <T>>
saídas ()

Métodos Herdados

Métodos públicos

public static DynamicPartition <T> create ( Scope scope, Operand <T> data, Operand <Integer> partições, Long numPartitions)

Método de fábrica para criar uma classe envolvendo uma nova operação DynamicPartition.

Parâmetros
escopo escopo atual
partições Qualquer forma. Índices no intervalo `[0, num_partitions)`.
numPartitions O número de partições para saída.
devoluções
  • uma nova instância de DynamicPartition

public Iterator< Operand <T>> iterator ()

public List< Output <T>> outputs ()