1. 程式人生 > >tensorflow 佇列管理之同步操作

tensorflow 佇列管理之同步操作

# -*- coding: utf-8 -*-
"""
Created on Thu Oct 25 09:49:34 2018

@author: Grey
"""
import tensorflow as tf
#模擬同步 先處理資料再取資料訓練
#會話執行
#1.定義佇列
Q=tf.FIFOQueue(3,tf.float32)
#放入資料,列表,否則認為是張量
enq_many=Q.enqueue_many([[0.1,0.2,0.3],])

#2.定義處理資料的邏輯、取資料過程,取資料+1 再入隊

out_q=Q.dequeue()#op
data=out_q+1
en_q=Q.enqueue(data)


with tf.Session() as sess:
#    初始化佇列
    sess.run(enq_many)
#    處理資料
    for i in range(100):
        sess.run(en_q)
#        訓練資料
    for i in range(Q.size().eval()):
        print(sess.run(Q.dequeue()))
    pass

未加同步,輸出結果: