docs: def _data_to_tensor(data_list, batch_size, name=None):
      r"""Returns batch queues from the whole data. 
      
      Args:
        data_list: A list of ndarrays. Every array must have the same size in the first dimension.
        batch_size: An integer.
        name: A name for the operations (optional).
        
      Returns:
        A list of tensors of `batch_size`.
      """
      # convert to constant tensor
      const_list = [tf.constant(data) for data in data_list]
  
      # create queue from constant tensor
      queue_list = tf.train.slice_input_producer(const_list, capacity=batch_size*128, name=name)
  
      # create batch queue
      return tf.train.shuffle_batch(queue_list, batch_size, capacity=batch_size*128,
                                    min_after_dequeue=batch_size*32, name=name)