Regroupe tous les tenseurs d'entrée de manière non déterministe.
Lorsque de nombreuses instances de cette opération sont exécutées simultanément avec le même conteneur/nom_partagé dans le même appareil, certaines généreront des Tensors de forme zéro et d'autres généreront des Tensors d'une taille allant jusqu'à max_batch_size.
Tous les Tensors dans in_tensors sont regroupés (ainsi, par exemple, les étiquettes et les fonctionnalités doivent être regroupées avec une seule instance de cette opération.
Chaque invocation de batch émet un scalaire `id` qui sera utilisé pour identifier cette invocation particulière lors de l'exécution d'un batch ou de son gradient.
Chaque opération qui émet un lot non vide émettra également un Tensor batch_index non vide, qui est une matrice [K, 3] où chaque ligne contient l'identifiant de l'invocation, le début et la longueur des éléments de chaque ensemble de Tensors présents dans batched_tensors.
Les tenseurs par lots sont concaténés le long de la première dimension, et tous les tenseurs de in_tensors doivent avoir la première dimension de la même taille.
in_tensors : les tenseurs à regrouper. num_batch_threads : nombre de threads de planification pour le traitement des lots de travail. Détermine le nombre de lots traités en parallèle. max_batch_size : la taille des lots ne sera jamais supérieure à cela. batch_timeout_micros : nombre maximum de microsecondes à attendre avant de générer un lot incomplet. Allowed_batch_sizes : liste facultative des tailles de lots autorisées. S'il est laissé vide, cela ne fait rien. Sinon, fournit une liste de tailles de lots, ce qui oblige l'opération à compléter les lots jusqu'à l'une de ces tailles. Les entrées doivent augmenter de manière monotone et l'entrée finale doit être égale à max_batch_size. grad_timeout_micros : Le délai d'attente à utiliser pour le dégradé. Voir Annuler le lot. batched_tensors : soit des tenseurs vides, soit un lot de tenseurs concaténés. batch_index : si out_tensors n'est pas vide, contient des informations pour l'inverser. conteneur : contrôle la portée du partage de ce lot. id : contient toujours un scalaire avec un identifiant unique pour cette invocation de Batch. shared_name : des instances de batch exécutées simultanément sur le même appareil avec le même conteneur et le même nom_partagé regrouperont leurs éléments ensemble. S'il est laissé vide, le nom de l'opération sera utilisé comme nom partagé. T : les types de tenseurs à regrouper.
Classes imbriquées
classe | Batch.Options | Attributs facultatifs pour Batch |
Méthodes publiques
Batch.Options statique | autoriséBatchSizes (Liste<Long> autoriséBatchSizes) |
Sortie <Long> | |
Liste< Sortie <?>> | |
Batch.Options statique | batchingQueue (chaîne batchingQueue) |
Batch.Options statique | conteneur (conteneur de chaîne) |
Lot statique | créer ( Scope scope, Iterable< Operand <?>> inTensors, Long numBatchThreads, Long maxBatchSize, Long batchTimeoutMicros, Long gradTimeoutMicros, Options... options) Méthode d'usine pour créer une classe encapsulant une nouvelle opération Batch. |
Sortie <Long> | identifiant () |
Batch.Options statique | maxEnqueuedBatches (Long maxEnqueuedBatches) |
Batch.Options statique | nom partagé (chaîne nom partagé) |
Méthodes héritées
Méthodes publiques
création de lots statiques publics ( Scope scope, Iterable< Operand <?>> inTensors, Long numBatchThreads, Long maxBatchSize, Long batchTimeoutMicros, Long gradTimeoutMicros, Options... options)
Méthode d'usine pour créer une classe encapsulant une nouvelle opération Batch.
Paramètres
portée | portée actuelle |
---|---|
choix | porte des valeurs d'attributs facultatifs |
Retour
- une nouvelle instance de Batch