def prefetch_queue(tensors,






  """Creates a queue to prefetch tensors from `tensors`.

  A queue runner for enqueuing tensors into the prefetch_queue is automatically

  added to the TF QueueRunners collection.


  This is for example useful to pre-assemble input batches read with

  `tf.train.batch()` and enqueue the pre-assembled batches.  Ops that dequeue

  from the pre-assembled queue will not pay the cost of assembling the batch.

  images, labels = tf.train.batch([image, label], batch_size=32, num_threads=4)

  batch_queue = prefetch_queue([images, labels])

  images, labels = batch_queue.dequeue()

  logits = Net(images)

  loss = Loss(logits, labels)


    tensors: A list or dictionary of `Tensors` to enqueue in the buffer.

    capacity: An integer. The maximum number of elements in the queue.

    num_threads: An integer.  Number of threads running the enqueue op.

    dynamic_pad: Boolean.  Whether to allow variable dimensions in input shapes.

    shared_name: (optional). If set, this queue will be shared under the given

      name across multiple sessions.

    name: (Optional) A name for the operations.


    A queue from which you can dequeue tensors with the same type and shape

    as `tensors`.


The function of this function: prefetch tensor into the queue from the data 'Tensor',


 images, labels = tf.train.batch([image, label], batch_size=32, num_threads=4) package the data set

batch_queue = prefetch_queue([images, labels])

2 prefetch_queue statement put the packaged data set into the queue

images, labels = batch_queue.dequeue()

3. Use the dequeue statement to dequeue the data

logits = Net(images)

loss = Loss(logits, labels)

4. Finally, calculate the logit and loss.