【问题标题】:Tensorflow numpy to tensorflow张量流numpy到张量流
【发布时间】:2017-11-05 15:48:24
【问题描述】:

我已经使用 numpy genfromtxt 读取了一个 csv 文件

csv_file = np.genfromtxt(args.dataset, delimiter=',',skip_header=1,usecols=(0,1,2,3,4,5), dtype=None)

问题:如何使用 string_input_producer 对文件进行排队和批处理。

【问题讨论】:

  • 告诉一些关于生成的csv_file 数组的信息。数据类型,形状?
  • @hpaulj >>> type(csv_file) <type 'numpy.ndarray'> csv_file.shape (37810,) csv 有以下字段 Filename Annotation tag Upper left corner X Upper left corner Y Lower right corner X Lower right corner Y
  • dtype 怎么样?那个形状是一维的,所以我怀疑它是一个有多个fields 的结构化数组,而不是列。 dtype=None 给你这个。 tensorflow 对使用结构化数组有什么要说的?
  • 更多关于结构化数组 - stackoverflow.com/q/44295375

标签: python python-2.7 numpy tensorflow tensorflow-gpu


【解决方案1】:

您可以像这样做一样从 CSV 读取一个 Numpy 数组,然后手动将其分成多个批次。但是,TF 具有从多个 CSV 文件读取数据并将行放在一起以随机或顺序批处理的内置功能。您可以读取不同数据类型的单元格,并根据需要将它们转换为您的相关数据类型。

此问题中讨论了执行此操作的工作代码: Converting TensorFlow tutorial to work with my own data

简而言之,您需要的关键功能是tf.TextLineReadertf.train.string_input_producertf.train.shuffle_batch,或tf.train.batch,具体取决于您的需要。

我知道该方法的唯一限制是您在 CSV 文件中的行应该是相等的长度。

【讨论】:

    猜你喜欢
    • 2019-06-18
    • 2017-12-01
    • 1970-01-01
    • 2019-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多