幸运的是,tensorflow已经提供了这个机制.也许你还会问,既然你可以在训练前个mini-batch的时候把要训练的下几个mini-batch导进来,那么内存是足够将两次的mini-batch都导入进来的...准备文件名
创建一个Reader从文件中读取数据
定义文件中数据的解码规则
解析数据
即:(文件名 -> reader -> decoder)
从文件里读数据,读完了,就换另一个文件.文件名放在string_input_producer...some_processing(example)
return processed_example, label
def input_pipeline(filenames, batch_size, num_epochs...=None):
filename_queue = tf.train.string_input_producer(
filenames, num_epochs=num_epochs, shuffle...,
# 一个例子就是,如果制作tfrecords的图片大小是变化的,这时候改变的只是bytestring的大小,但是value的长度
# 还是1,这时候用FixedLenFeature解码是可以正确还原数据的