tensorflow中的队列

  |   0 评论   |   0 浏览

背景

初体验

# coding=utf-8
import tensorflow as tf

if __name__ == '__main__':
    # 创建一个先进先出队列,指定队列中最多可以保存两个元素,并指定类型为整数。
    # 先进先出队列为:FIFOQueue,随机的为:RandomShuffleQueue
    q = tf.FIFOQueue(2, 'int32')

    # 将[0,10]这2个元素排入此队列
    init = q.enqueue_many(([0, 10],))
    x = q.dequeue()

    # 将加1后的值再重新加入队列
    y = x + 1
    q_inc = q.enqueue([y])

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

            # 打印出元素的取值
            print(v)

结果

2021-07-06 14:51:04.557212: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 AVX512F FMA
0
10
1
11
2
12
3
13
4
14
5
15
6
16
7
17
8
18
9
19

参考