4-7 使用tf.train.slice_input_producer读取列表样本

在TensorFlow数据读中,由于CUP或GPU读取过快而硬盘数据跟不上,所以采取文件队列方式:将源数据按规定规模放入文件队列,启动文件队列填充后,便可以通过sess.run读取文件

import tensorflow as tf
images=['image1.jpg','image2.jpg','image3.jpg','image4.jpg']#为了举例自定义列表文件
labels=[1,2,3,4]

#创建文件名队列
[images,labels]=tf.train.slice_input_producer([images,labels],
                              num_epochs=2,#epochs循环数,改成None则只要获取队列就有
                              shuffle=True)#shuffle文件队列打乱
                            #输出两个tensor
with tf.Session() as sess:#后端运算
    sess.run(tf.local_variables_initializer())#上述定义了2和True,但是在后端运行时不会被使用,需要这里的初始化,才能完成赋值
    tf.train.start_queue_runners(sess=sess)#启动队列填充过程
    for i in range(8):#一个epoachs长度4,2个就是8
        print(sess.run([images,labels]))#读取文件队列

posted @ 2020-05-09 09:43  盐亭的森林  阅读(466)  评论(1编辑  收藏  举报