代码之家  ›  专栏  ›  技术社区  ›  nikitautiu

Tensorflow分区csv输入

  •  1
  • nikitautiu  · 技术社区  · 8 年前

    总而言之,问题是,我想将用于训练的数据分割成许多较小的CSV( feat-01.csv feat-02.csv 等)。我想把这些喂给一个 Estimator ,更确切地说是通过某种 input_fn .

    我的理想解决方案是有某种输入函数,需要 dask.Dataframe (这几乎是我迄今为止生成数据的方式)并将其批处理到估计器。我尝试了以下几点:

    import tensorflow as tf
    import dask.dataframe as dd
    
    ddf = dd.read_csv('feat-*.csv')
    tf.contrib.learn.extract_dask_data(ddf)
    

    然而,这在以下情况下失败:

    TypeError: Expected `meta` to specify type DataFrame, got type Index
    

    由于缺乏关于直接使用dask的文档,我有点放弃了这个想法,尽管一些docstring似乎指出这应该是可能的。我在考虑做一个 输入fn 直接从csv文件中输入,但我也没有找到关于这个用例的具体示例。

    有点像TF noob,我想知道最干净的方法是什么。

    1 回复  |  直到 8 年前
        1
  •  0
  •   nikitautiu    8 年前

    更新: 在尝试通过 dask 我放弃了这个想法,既因为沮丧,也因为开销可能有点大。

    我使用tf的队列实现了一个输入函数,效果很好。这是 the code . 虽然简单地将数据帧传递给估计器比我想象的要复杂一些,但在tensorflow中完成所有工作似乎是最优雅的方法。

    在我发布这个问题后不久,tensorlfow 1.4发布了,数据集API得到了官方支持,并有了更好的文档记录。如果还有人对这个问题感兴趣,我建议你去看看 this paragraph 来自TF文档。

    推荐文章