线程异步
在训练过程中,可以通过异步读取数据,加快程序执行速度
1. 操作过程
1.1. 定义要做的事情
例如读取文件,此处示例就变量自加好了:
var = tf.Variable(0.0)
data = tf.assign_add(var,tf.constant(1.0))
1.2. 定义队列
Q = tf.FIFOQueue(1000, tf.float32)
1.3. 定义入队操作
en_q = Q.enqueue(data)
1.4. 定义入队管理器
qr = tf.train.QueueRunner(Q, enqueue_ops=[en_q] * 5)
最后*5
是指设置5个线程干en_q这件事
1.5. 定义线程管理器
coord = tf.train.Coordinator()
1.6. 开启子线程
注意,接下来操作都在session()中执行