tensorflow队列

在TensorFlow中,队列和变量类似,都是计算图上有状态的节点。对于队列状态的操作主要有Enqueue、EnqueueMany、Dequeue。如下程序:
import tensorflow as tf
#创建一个先进先出的队列,指定队列中最多可以保存2个元素,并指定类型为整数
q = tf.FIFOQueue(2, "int32")
#使用enqueue_many函数来初始化队列中的元素,在队列使用前必须明确的调用这个初始化过程
init = q.enqueue_many(([0, 10],))
#使用dequeue函数将队列中的第一个元素出队列,这个变量被保存在变量x中
x = q.dequeue()
#将得到的值+1
y = x + 1
#将+1后的值重新加入队列
q_inc = q.enqueue([y])

with tf.Session() as sess:
#运行初始化队列的操作
    init.run()
    for _ in range(5):
#运行q_inc将执行数据出队列、出队的元素+1、重新加入队列的整个过程
        v, _ = sess.run([x, q_inc])
#打印出队列元素的值
        print v

       上面介绍的FIFOQueue队列,这是一种先进先出队列。在TensorFlow中还有一种队列是RandomShuffleQueue,这种队列会将队列中的元素打散,每次出队列看到的是从当前队列所有元素中随机选取的一个。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值