项目已上传至 GitHub —— queue-threading
Queue
TensorFlow 提供了两种列队
- FIFOQueue:先进先出队列
- RandomShuffleQueue:随机出队队列
修改队列状态的函数主要有
- enqueue():入队
- enqueue_many():将多个元素入队
- dequeue():出队
以下代码示范了怎么使用这些函数(以下所有代码都实现自《TensorFlow:实战Google深度学习框架》)
import tensorflow as tf
# 创建一个先进先出队列,指定队列最多保存两个元素,类型为整数
q = tf.FIFOQueue(2, 'int32')
# 初始化队列中的元素
init = q.enqueue_many(([0, 10], ))
# 执行出队操作
x = q.dequeue()
# 将元素+1后入队
y = x + 1
q_inc = q.enqueue([y])
with tf.Session()