Tensorflow分区csv input_fn

时间:2017-10-25 21:51:44

标签: python csv tensorflow dask

总而言之,问题在于我将用于训练的数据拆分为许多较小的csv(feat-01.csvfeat-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的文档,我有点放弃了这个想法,尽管有些文档字符串似乎指出它应该是可能的。我正在考虑让input_fn直接从csv文件中提供它,但我没有找到关于这个用例的具体示例。

作为一个TF菜鸟,我想知道最干净的方法是什么。

1 个答案:

答案 0 :(得分:0)

更新:通过dask无果力地尝试实施后,我从挫折中放弃了这个想法,因为开销可能会有点太多。

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

最终更新: 在我发布这个问题之后不久,张贴1.4发布了,随之而来的是数据集API得到官方支持并得到了更好的记录。如果有人仍然对这个问题感兴趣,我建议你从TF文档中查看this paragraph