class_docstr: Interface to handle asynchronous data transfer using double buffering.
  
  An asynchronous data transfer is initiated by :meth:`put`, and the result,
  the array transferred to a target device, is obtained by :meth:`get`.
  You should call :meth:`put` followed by :meth:`get`.
  
  Args:
      device (int): Device ID to which an array is sent. Negative value
          indicates the host memory (CPU). If it is omitted, the array is
          left in the original device. Asynchronous data transfer is used
          only when device ID >= 0.
      stream (cupy.cuda.Stream): CUDA stream. An array is sent to GPU
          asynchronously using this stream. If ``None``, asynchronous data
          transfer is not used.
class_docstr_tok: ["Interface","to","handle","asynchronous","data","transfer","using","double","buffering",".","An","asynchronous","data","transfer","is","initiated","by",":","meth",":","`","put","`",",","and","the","result",",","the","array","transferred","to","a","target","device",",","is","obtained","by",":","meth",":","`","get","`",".","You","should","call",":","meth",":","`","put","`","followed","by",":","meth",":","`","get","`",".","Args",":","device","(","int",")",":","Device","ID","to","which","an","array","is","sent",".","Negative","value","indicates","the","host","memory","(","CPU",")",".","If","it","is","omitted",",","the","array","is","left","in","the","original","device",".","Asynchronous","data","transfer","is","used","only","when","device","ID",">","=","0.","stream","(","cupy.cuda.Stream",")",":","CUDA","stream",".","An","array","is","sent","to","GPU","asynchronously","using","this","stream",".","If","``","None","``",",","asynchronous","data","transfer","is","not","used","."]
code: def __init__(self, device=None, stream=None):
      self._device = device
      self._stream = stream
  
      self._array_set = [[None, None], [None, None]]
      self._ret_array = []
  
imports: import collections
  import numpy
  import six
  import chainer
  from chainer import backend
  from chainer.backends import cuda
label_desc: Use image node_id 1 to create a new Conveyor object from inherited base classes: object with example: obj = Conveyor(device, stream)