数据的IO三种操作:
数据IO操作
三种
占位符 & feed_dict搭配使用
QueueRunner
通用文件读取流程
图片
二进制数据
TFRecords
1.文件读取流程
1)构造文件名队列
file_queue = tf.train.string_input_producer(string_tensor,shuffle=True)
2)读取与解码
第一步
文本:
读取:tf.TextLineReader()
解码:tf.decode_csv()
图片:
读取:tf.WholeFileReader()
解码:
tf.image.decode_jpeg(contents)
tf.image.decode_png(contents)
二进制:
读取:tf.FixedLengthRecordReader(record_bytes)
解码:tf.decode_raw()
TFRecords
读取:tf.TFRecordReader()
第二步
最终利用read将第一步的数据读取(即第一步返回一个读取器)
key, value = 读取器.read(file_queue)
key:文件名
value:一个样本的内容
3)批处理队列
tf.train.batch(tensors, batch_size, num_threads = 1, capacity = 32, name=None)
手动开启线程
tf.train.QueueRunner()
开启会话:
tf.train.start_queue_runners(sess=None, coord=None)