tensorflow1.0 队列FIFOQueue管理实现异步读取训练
Posted liuxinyu12378
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tensorflow1.0 队列FIFOQueue管理实现异步读取训练相关的知识,希望对你有一定的参考价值。
import tensorflow as tf #模拟异步子线程 存入样本, 主线程 读取样本 # 1. 定义一个队列,1000 Q = tf.FIFOQueue(1000,tf.float32) #2.定义要做的事情 循环 值,+1 放入队列当中 var = tf.Variable(0.0) #实现一个自增 tf.assign_add data = tf.assign_add(var,tf.constant(1.0)) en_q = Q.enqueue(data) #3.定义队列管理器op,指定多少个子线程,子线程该干什么事情 qr = tf.train.QueueRunner(Q,enqueue_ops=[en_q]*2) #初始化变量op init_op = tf.global_variables_initializer() with tf.Session() as sess: #初始化变量 sess.run(init_op) #开启线程管理器 coord = tf.train.Coordinator() #真正开启子线程 threads = qr.create_threads(sess,coord = coord,start = True) #主线程,不断读取数据训练 for i in range(300): print(sess.run(Q.dequeue())) #回收你 coord.request_stop() coord.join()
以上是关于tensorflow1.0 队列FIFOQueue管理实现异步读取训练的主要内容,如果未能解决你的问题,请参考以下文章