Interface to concatenate data and transfer them to GPU asynchronously.
It enables to transfer next batch of input data to GPU while GPU is running kernels for training using current batch of input data.
An instance of this class is mainly intended to be used as a converter function of an updater like below.
from chainer.dataset import convert ... updater = chainer.training.updaters.StandardUpdater( ..., converter=convert.ConcatWithAsyncTransfer(), ...)
Parameters: stream (cupy.cuda.Stream) – CUDA stream. If
None, a stream is automatically created on the first call. Data transfer operation is launched acynchrnously using the stream.
__call__(batch, device=None, padding=None)¶
Concatenate data and transfer them to GPU asynchronously.
Array, a tuple of arrays, or a dictionary of arrays. The type depends on the type of each example in the batch.