• day12-TensorFlow读取文件


    读取csv文件

    
    # coding=utf-8
    import tensorflow as tf
    import os
    
    def readcsv(fileList):
    
        """
        csv文件的读取
        :param fileList: 文件路径+文件名 列表
        :return:
        """
    
        # 1、构造文件读取队列
        file_queue = tf.train.string_input_producer(fileList)
    
        # 2、构造csv文件读取器
        csvReader = tf.TextLineReader()
    
        key,value = csvReader.read(file_queue)
    
        # 3、对每行内容解码
        y1,y2 = tf.decode_csv(value,record_defaults=[["None"],["None"]])
    
        # 4、批处理读取多个数据
        # num_threads为线程数,batch_size为读取的数据数,capacity为读取多少个数据后传递给主线程,第一个参数为要读取的张量
        y1_batch,y2_batch = tf.train.batch([y1,y2],batch_size=4,capacity=4,num_threads=1)
    
    
        return y1_batch,y2_batch
    
    
    if __name__ == '__main__':
    
        # 构造待读取的文件列表
        files = os.listdir("../data/day05/")
        fileList = [os.path.join("../data/day05/",file) for file in files]
    
        # 读取函数
        y1_batch,y2_batch = readcsv(fileList)
    
        # 操作
        with tf.Session() as sess:
            # 线程管理器
            coord = tf.train.Coordinator()
    
            # 开启线程
            threads = tf.train.start_queue_runners(sess,coord=coord)
    
            # 打印y1,y2
            print(sess.run([y1_batch,y2_batch]))
    
            # 回收线程
            coord.request_stop()
            coord.join(threads)
    
    

    读取图片文件

    
    # coding=utf-8
    import tensorflow as tf
    import os
    
    def readphoto(fileList):
    
        """
        读取图片文件
        :param fileList:
        :return:
        """
    
        # 1、构造文件读取队列
        file_queue = tf.train.string_input_producer(fileList)
    
        # 2、构造图片读取器
        file_reader = tf.WholeFileReader()
    
        # 3、读取文件
        key,value = file_reader.read(file_queue)
    
        # 4、解码
        image = tf.image.decode_jpeg(value)
    
        # 5、统一图片的大小
        image_resize = tf.image.resize_images(image,[200,200])
        # 因为批处理需要张量的所有维数都固定,所以需要将图片指定为彩色图片,即为三通道
        image_resize.set_shape([200,200,3])
    
        # 6、批处理
        image_batch = tf.train.batch([image_resize],batch_size=2,num_threads=1,capacity=2)
    
    
        return image_batch
    
    
    
    if __name__ == '__main__':
    
        # 构造文件列表
        files = os.listdir("../data/day05/image/")
        fileList = [os.path.join("../data/day05/image/",file) for file in files]
    
        image_batch = readphoto(fileList)
    
        # 进行会话操作
        with tf.Session() as sess:
            # 创建线程管理器
            coord = tf.train.Coordinator()
    
            # 开启线程
            threads = tf.train.start_queue_runners(coord=coord)
    
            # 打印图片数据
            print(sess.run([image_batch]))
    
            # 回收线程
            coord.request_stop()
            coord.join(threads)
    
    

    图片文件读取时,格式为[长,宽,通道数]
    通道数为1时为黑白图片
    通道数为3时为彩色图片

  • 相关阅读:
    kafka的使用
    linux卸载mysql
    kafka单机版的安装、集群部署 及使用
    winform改变启动界面
    C#连接sqlserver数据库
    叠加dgv中相同的行信息
    重定向和转发
    [Jenkins] 配置任务中的坑s
    【Android】冷门常用 ADB
    Linux 常用环境搭建
  • 原文地址:https://www.cnblogs.com/wuren-best/p/14305042.html
Copyright © 2020-2023  润新知