tf.train.string_input_producer函数与tf.train.start_queue_runners

本文介绍了TensorFlow中如何使用tf.train.string_input_producer创建文件名队列,并通过设置num_epochs和shuffle参数来管理训练数据。在启动tf.train.start_queue_runners后,数据读取线程开始运行,确保计算过程能获取到数据进行运算。理解这一过程对于构建高效的TensorFlow数据流水线至关重要。
摘要由CSDN通过智能技术生成

tf.train.string_input_produce

这个函数需要传入一个文件名list,系统会自动将它转为一个文件名队列。

tf.train.string_input_producer还有两个重要的参数,一个是num_epochs,用于管理训练次数。另外一个就是shuffle,shuffle是指在一个epoch内文件的顺序是否被打乱。在TensorFlow中,内存队列不需要我们自己建立,我们只需要使用reader对象从文件名队列中读取数据就可以了。

在我们使用tf.train.string_input_producer创建文件名队列后,整个系统其实还是处于“停滞状态”的,我们文件名并没有真正被加入到队列中。此时如果我们开始计算,因为内存队列中什么也没有,导致整个系统被阻塞。

tf.train.start_queue_runners

使用tf.train.start_queue_runners之后,才会启动填充队列的线程。此后计算单元就可以拿到数据并进行计算,整个程序也就跑起来了,这就是函数tf.train.start_queue_runners的用处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值
>