Agrupa todos os tensores de entrada de forma não determinística.
Quando muitas instâncias deste Op estão sendo executadas simultaneamente com o mesmo container/shared_name no mesmo dispositivo, algumas produzirão Tensores em forma de zero e outras produzirão Tensores de tamanho até max_batch_size.
Todos os tensores em in_tensors são agrupados em lote (assim, por exemplo, rótulos e recursos devem ser agrupados em uma única instância desta operação.
Cada invocação de lote emite um escalar `id` que será usado para identificar esta invocação particular ao fazer unbatch ou seu gradiente.
Cada op que emite um lote não vazio também emitirá um tensor batch_index não vazio, que é uma matriz [K, 3] onde cada linha contém o id da invocação, o início e o comprimento dos elementos de cada conjunto de tensores presentes em batched_tensors.
Os tensores em lote são concatenados ao longo da primeira dimensão e todos os tensores em in_tensors devem ter a primeira dimensão do mesmo tamanho.
in_tensors: Os tensores a serem agrupados. num_batch_threads: Número de threads de agendamento para processamento de lotes de trabalho. Determina o número de lotes processados em paralelo. max_batch_size: Os tamanhos dos lotes nunca serão maiores que isso. batch_timeout_micros: número máximo de microssegundos para aguardar antes de emitir um lote incompleto. allowed_batch_sizes: lista opcional de tamanhos de lote permitidos. Se deixado vazio, não faz nada. Caso contrário, fornece uma lista de tamanhos de lote, fazendo com que o operador preencha lotes de até um desses tamanhos. As entradas devem aumentar monotonicamente e a entrada final deve ser igual a max_batch_size. grad_timeout_micros: O tempo limite a ser usado para o gradiente. Consulte Destravar. batched_tensors: tensores vazios ou um lote de tensores concatenados. batch_index: Se out_tensors não estiver vazio, tem informações para invertê-lo. container: Controla o escopo de compartilhamento deste lote. id: sempre contém um escalar com um ID exclusivo para essa invocação do Lote. shared_name: instâncias de lote em execução simultânea no mesmo dispositivo com o mesmo contêiner e shared_name agruparão seus elementos em lote. Se deixado em branco, o nome da operação será usado como o nome compartilhado. T: os tipos de tensores a serem agrupados.
Classes aninhadas
aula | Lote.Opções | Atributos opcionais para Batch |
Métodos públicos
Lote estático.Opções | allowedBatchSizes (List<Long> allowedBatchSizes) |
Saída <Long> | |
Lista< Saída <?>> | |
Lote estático.Opções | batchingQueue (String batchingQueue) |
Lote estático.Opções | recipiente (contêiner de string) |
Lote estático | create ( Escopo do escopo, Iterable< Operando <?>> inTensors, Long numBatchThreads, Long maxBatchSize, Long batchTimeoutMicros, Long gradTimeoutMicros, Options... options) Método de fábrica para criar uma classe que envolve uma nova operação em lote. |
Saída <Long> | |
Lote estático.Opções | maxEnqueuedBatches (Longos maxEnqueuedBatches) |
Lote estático.Opções | sharedName (String sharedName) |
Métodos Herdados
Métodos públicos
public static Batch create ( Escopo do escopo, Iterable< Operando <?>> inTensors, Long numBatchThreads, Long maxBatchSize, Long batchTimeoutMicros, Long gradTimeoutMicros, Options... options)
Método de fábrica para criar uma classe que envolve uma nova operação em lote.
Parâmetros
alcance | escopo atual |
---|---|
opções | carrega valores de atributos opcionais |
Devoluções
- uma nova instância do Lote