tensorflow数据输入

来源:互联网 发布:免费音乐相册制作软件 编辑:程序博客网 时间:2024/06/05 00:50

tensorflow的数据输入采用队列、线程的机制,这样可以使得系统更加轻量。如实例:

#获取数据的列表

image_list, label_list = read_image_label_list()

images = tf.convert_to_tensor(self.image_list, dtype=tf.string)

labels = tf.convert_to_tensor(self.label_list, dtype=tf.string)

#构建列表输出的队列

queue = tf.train.slice_input_producer([self.images, self.labels], shuffle=False)

#这里得到的queue实际是一个list,其中包含两个str,一个是image,一个是label,但是这些内容是通过队列输出的,所以在启动队列之前是没有输出的。

image, label = read_images_from_disk(queue )


image_batch, label_batch=tf.train.batch([image, label], batch_size)


#创建一个协调,用于协调多个线程同时开启关闭

coord = tf.train.Coordinator()

sess = tf.Session()

#开启队列,返回向队列输入数据的线程

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


sess.run(image_batch, label_batch)




原创粉丝点击