zoukankan      html  css  js  c++  java
  • 4-8 使用tf.train.string_input_producer读取列表样本

    tf.train.string_input_producer只是读入文件还没有解析,需要tf.WholeFileReader()来解析文件

    import tensorflow as tf
    # images=['image1.jpg','image2.jpg','image3.jpg','image4.jpg']
    # labels=[1,2,3,4]
    #
    # #创建文件名队列(也就是内存队列)
    # [images,labels]=tf.train.slice_input_producer([images,labels],
    #                               num_epochs=2,#epochs循环数,改成None则只要获取队列就有
    #                               shuffle=True)#shuffle文件队列打乱
    #                             #输出两个tensor
    # with tf.Session() as sess:#后端运算
    #     sess.run(tf.local_variables_initializer())#上述定义了2和True,但是在后端运行时不会被使用,需要这里的初始化,才能完成赋值
    #     tf.train.start_queue_runners(sess=sess)#启动队列填充过程
    #     for i in range(8):#一个epoachs长度4,2个就是8
    #         print(sess.run([images,labels]))#读取文件队列
    ###slice实际输出是tensor,通过sess.run我们就可以直接获取tensor
    ###string实际上是输出文件队列,需要从文件队列数据读取(不是张量,所以无法sess.run来获取)
    
    filename=['data/A.csv','data/B.csv','data/C.csv']
    file_queue=tf.train.string_input_producer(filename,
                                              shuffle=True,
                                              num_epochs=2)
    reader=tf.WholeFileReader()#定义文件读取器
    key,value=reader.read(file_queue)
    
    with tf.Session() as sess:
        sess.run(tf.local_variables_initializer())#变量初始化赋值
        tf.train.start_queue_runners(sess=sess)#开启队列读入
        for i in range(6):
            print(sess.run([key,value]))
    
  • 相关阅读:
    后缀数组-另辟蹊径
    Project Euler 不定期更新
    Educational Codeforces Round 93 (Rated for Div. 2)
    Codeforces Round #664 (Div. 2)
    lower_bound和upper_bound的用法
    Codeforces Round #663 (Div. 2)
    Codeforces Round #661 (Div. 3)
    质数笔记
    C++运算符的优先级
    图的构建
  • 原文地址:https://www.cnblogs.com/thgpddl/p/12856534.html
Copyright © 2011-2022 走看看