读csv文件是用 tensorflow 的函数。限制是只能一行一行读取。(不过这篇博文想探究的限制不是这个)
所以如果用csv文件读单通道的图像文件,每行存一张图即可。
由于对 tensorflow 队列读取csv文件的单行长度限制有疑问所以进行测试。
先用TF的队列方法读:
import tensorflow as tf
import numpy as np
import scipy.misc
#单通道图像存储的N行csv文件,一行长度是65536
filenames = ['test65536.csv']
filename_queue = tf.train.string_input_producer(filenames)
reader = tf.TextLineReader()
key,value = reader.read(filename_queue)
record_defaults = [[1.0] for col in range(65536)]
images = tf.decode_csv(value, record_defaults = record_defaults)
#注:images是list object
img = tf.reshape(images, [256,256])
print(img)
#输出是Tensor("Reshape:0", shape=(256, 256), dtype=float32)
with tf.Session() as sess:
coord = tf.train.Coordinator()
threads = tf.train.start_queue_runners(coord=coord)
init = tf.global_variables_initializer()
sess.run(init)