class_docstr: Wrapper around ``multiprocessing.Pool`` for multicore augmentation.
  
  Parameters
  ----------
  augseq : imgaug.augmenters.meta.Augmenter
      The augmentation sequence to apply to batches.
  
  processes : None or int, optional
      The number of background workers, similar to the same parameter in
      multiprocessing.Pool. If ``None``, the number of the machine's CPU
      cores will be used (this counts hyperthreads as CPU cores). If this is
      set to a negative value ``p``, then ``P - abs(p)`` will be used,
      where ``P`` is the number of CPU cores. E.g. ``-1`` would use all
      cores except one (this is useful to e.g. reserve one core to feed
      batches to the GPU).
  
  maxtasksperchild : None or int, optional
      The number of tasks done per worker process before the process is
      killed and restarted, similar to the same parameter in
      multiprocessing.Pool. If ``None``, worker processes will not be
      automatically restarted.
  
  seed : None or int, optional
      The seed to use for child processes. If ``None``, a random seed will
      be used.
docstr: Augment batches asynchonously.
  
  Parameters
  ----------
  batches : list of imgaug.augmentables.batches.Batch
      The batches to augment.
  
  chunksize : None or int, optional
      Rough indicator of how many tasks should be sent to each worker.
      Increasing this number can improve performance.
  
  callback : None or callable, optional
      Function to call upon finish. See ``multiprocessing.Pool``.
  
  error_callback : None or callable, optional
      Function to call upon errors. See ``multiprocessing.Pool``.
  
  Returns
  -------
  multiprocessing.MapResult
      Asynchonous result. See ``multiprocessing.Pool``.
docstr_tok: ["Augment","batches","asynchonously",".","Parameters","--","--","--","--","--","batches",":","list","of","imgaug.augmentables.batches.Batch","The","batches","to","augment",".","chunksize",":","None","or","int",",","optional","Rough","indicator","of","how","many","tasks","should","be","sent","to","each","worker",".","Increasing","this","number","can","improve","performance",".","callback",":","None","or","callable",",","optional","Function","to","call","upon","finish",".","See","``","multiprocessing.Pool","``",".","error_callback",":","None","or","callable",",","optional","Function","to","call","upon","errors",".","See","``","multiprocessing.Pool","``",".","Returns","--","--","--","-","multiprocessing.MapResult","Asynchonous","result",".","See","``","multiprocessing.Pool","``","."]
code: def map_batches_async(
      self, batches, chunksize=None, callback=None, error_callback=None
  ):
      """
      Augment batches asynchonously.
  
      Parameters
      ----------
      batches : list of imgaug.augmentables.batches.Batch
          The batches to augment.
  
      chunksize : None or int, optional
          Rough indicator of how many tasks should be sent to each worker.
          Increasing this number can improve performance.
  
      callback : None or callable, optional
          Function to call upon finish. See ``multiprocessing.Pool``.
  
      error_callback : None or callable, optional
          Function to call upon errors. See ``multiprocessing.Pool``.
  
      Returns
      -------
      multiprocessing.MapResult
          Asynchonous result. See ``multiprocessing.Pool``.
  
      """
      self._assert_batches_is_list(batches)
      return self.pool.map_async(
          _Pool_starworker,
          self._handle_batch_ids(batches),
          chunksize=chunksize,
          callback=callback,
          error_callback=error_callback,
      )
  
imports: from __future__ import print_function, division, absolute_import
  import sys
  import multiprocessing
  import threading
  import traceback
  import time
  import random
  import platform
  import numpy
  import cv2
  import imgaug.imgaug
  import imgaug.random
  from imgaug.augmentables.batches import Batch, UnnormalizedBatch
label_desc: Use image node_id 4 for calling the Pool obj's underlying member method code with example usage: obj.map_batches_async(batches, chunksize, callback, error_callback) and returns: self