赞
踩
tensorflow读取数据流程
reader = tf.TextLineReader()
example, label = tf.decode_csv(value, record_defaults=records)
def csvread(filelist): """ 读取CSV文件 :param filelist: 文件路径+名字的列表 :return: 读取的内容 """ # 1、构造文件的队列 # 此操作会隐含地将一个QuenuRunner加入全局图中 file_queue = tf.train.string_input_producer(filelist) # 2、构造csv阅读器读取队列数据(按一行)(key文件名,value读取的内容) reader = tf.TextLineReader() key, value = reader.read(file_queue) # 3、对每行内容解码,example, label是指我读取的数据的两个特征 # record_defaults:指定每一个样本的每一列的类型,指定默认值[["None"], [4.0]] records = [["None"], ["None"]] example, label = tf.decode_csv(value, record_defaults=records) # 4、想要读取多个数据,就需要批处理 example_batch, label_batch = tf.train.batch([example, label], batch_size=9, num_threads=1, capacity=9) return example_batch, label_batch
主线程调用:
# 找到指定文件夹下的所有文件,将路径+名字存到列表中 file_name = os.listdir("文件夹路径") filelist = [os.path.join("文件夹路径", file) for file in file_name] # 调用函数读取数据 example, label = csvread(filelist) # 会话 with tf.Session() as sess: # 线程协调器 coord = tf.train.Coordinator() # 开启读文件的线程 threads = tf.train.start_queue_runners(sess,coord=coord) # 打印出来 print(sess.run([example, label])) #回收子线程 coord.request_stop() coord.join(threads)
tensorflow读取数据流程
tf.WholeFileReader()
image = tf.image.decode_jpeg(value)
def read_pic(file_list): # 文件队列 file_queue = tf.train.string_input_producer(file_list) # 读数据 reader = tf.WholeFileReader() key, value = reader.read(file_queue) # 解码 image = tf.image.decode_jpeg(value) # 统一图片大小 image_resize = tf.image.resize_images(image, [300, 200]) # 批处理需要,必须指定通道数 image_resize.set_shape([300,200,3]) # 批处理 image_batch = tf.train.batch([image_resize], batch_size=5) return image_batch
主线程调用:
# 找到指定文件夹下的所有文件,将路径+名字存到列表中
file_name = os.listdir("文件夹路径")
filelist = [os.path.join("文件夹路径", file) for file in file_name]
# 调用函数读取数据
image = read_pic(file_list)
with tf.Session() as sess:
coord = tf.train.Coordinator()
threads = tf.train.start_queue_runners(sess, coord=coord)
print(sess.run(image))
coord.request_stop()
coord.join(threads)
tensorflow读取数据流程
reader = tf.FixedLengthRecordReader(字节数)
content = tf.decode_raw(value, tf.uint8)
def bin_reader(filelist): """ 读取CSV文件 :param filelist: 文件路径+名字的列表 :return: 读取的内容 """ # 1、构造文件的队列 # 此操作会隐含地将一个QuenuRunner加入全局图中 file_queue = tf.train.string_input_producer(filelist) # 2、构造csv阅读器读取队列数据(按一行)(key文件名,value读取的内容) reader = tf.FixedLengthRecordReader(字节数) key, value = reader.read(file_queue) # 3、对每行内容解码,需要指定读取内容的类型 content = tf.decode_raw(value, tf.uint8) # 4、想要读取多个数据,就需要批处理 content_batch = tf.train.batch([contentl], batch_size=9, num_threads=1, capacity=9) return example_batch, label_batch
主线程调用:
# 找到指定文件夹下的所有文件,将路径+名字存到列表中 file_name = os.listdir("文件夹路径") filelist = [os.path.join("文件夹路径", file) for file in file_name] # 调用函数读取数据 content = bin_reader(filelist) # 会话 with tf.Session() as sess: # 线程协调器 coord = tf.train.Coordinator() # 开启读文件的线程 threads = tf.train.start_queue_runners(sess,coord=coord) # 打印出来 print(sess.run([contentl])) #回收子线程 coord.request_stop() coord.join(threads)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。