tensorflow中的队列queue小结

import tensorflow as tf

with tf.Session() as sess:
    filename=["A.jpg", "B.jpg", "C.jpg"]

    filename_queue=tf.train.string_input_producer(filename, shuffle=True, num_epochs=5)
    #文件名队列
    reader=tf.WholeFileReader()
    key, value=reader.read(filename_queue)
    tf.local_variables_initializer().run()
    threads=tf.train.start_queue_runners(sess=sess)
    i=0
    while True:
        i+=1
        image_data=sess.run(value)

1.首先

filename_queue=tf.train.string_input_producer(filename, shuffle=True, num_epochs=5)

创建一个文件名队列,这个队列包含文件的名称,并没有把这些文件放入内存队列中。

2.阅读器。

    reader=tf.WholeFileReader()
    key, value=reader.read(filename_queue)

创建一个阅读器,并且去读取,内存队列的文件。但是此时,只有文件名队列里面有各个文件的名称,但是内存队列却没有任何东西,所以才需要下面这条语句的的作用!!!

3.将文件名队列的内容传入,内存队列中。

threads=tf.train.start_queue_runners(sess=sess)

如果没有这一步,虽然你建立了文件名队列,但是因为实际上文件名队列的内容并没有未给内存,所以此时如果执行读取队列内容的操作,会产生读取操作挂起等待,读取器等待内存队列存入数据的情况。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值