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

被折叠的 条评论
为什么被折叠?



