多线程读取tfrecords文件。老报错,重启spyder就好了

# -*- coding: utf-8 -*-
"""
Created on Tue Jan 29 17:00:24 2019

@author: Administrator
"""

import tensorflow as tf

files=tf.train.match_filenames_once("output/out.tfrecords-*")

filename_queue=tf.train.string_input_producer(files,shuffle=False,num_epochs=5)

reader=tf.TFRecordReader()

_, serialized_example= reader.read(filename_queue)

features=tf.parse_single_example(
serialized_example,
features={
'i': tf.FixedLenFeature([],tf.int64),
'j':tf.FixedLenFeature([],tf.int64),
})

with tf.Session() as sess:

tf.local_variables_initializer().run()
#sess.run(tf.global_variables_initializer())
print(sess.run(files))
coord=tf.train.Coordinator()

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

for i in range(6):
print(sess.run([features['i'],features['j']]))

coord.request_stop()
coord.join(threads)

posted @ 2019-01-29 17:30  白煤球  阅读(120)  评论(0编辑  收藏  举报