python之深度学习-队列处理数据(同步)

#用队列来模拟一下同步的过程,这里的同步指的是:想把所有的数据处理完放到一个队列中,然后主线程才会去读取数据的一个过程
#而不是子线程一边去处理数据,主线程一边去读取数据,这是异步啊
import tensorflow as tf
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'#把报错的这个警告等级降低
#1.定义队列
Q = tf.FIFOQueue(3,tf.float32) #大小是3的一个队列,数据类型是float32
#2.放一些数据
enq_many = Q.enqueue_many([[0.1,0.2,0.3],]) #放一个列表,
#3.对队列中的数据进行计算处理
out_q = Q.dequeue() #出一个队列元素
data = out_q + 1   #把刚出来的这个元素做+1处理
en_q = Q.enqueue(data)#吧处理完的数据这个数据在放进去

with tf.Session() as sess:
    #1.初始化队列
    sess.run(enq_many)
    #2.处理数据
    for i in range(100):
        sess.run(en_q)
    #3.训练数据
    for i in range(Q.size().eval()):
        print(sess.run(Q.dequeue()))
原文地址:https://www.cnblogs.com/boost/p/13513420.html