总而言之,问题在于我将用于训练的数据拆分为许多较小的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的文档,我有点放弃了这个想法,尽管有些文档字符串似乎指出它应该是可能的。我正在考虑让input_fn
直接从csv文件中提供它,但我没有找到关于这个用例的具体示例。
作为一个TF菜鸟,我想知道最干净的方法是什么。
答案 0 :(得分:0)
更新:通过dask
无果力地尝试实施后,我从挫折中放弃了这个想法,因为开销可能会有点太多。
我使用tf的队列实现了一个输入函数,效果非常好。这是the code。虽然将数据帧简单地传递给估算器,但比我想象的要复杂得多,但是在tensorflow中完成所有工作似乎是最优雅的方法。
最终更新: 在我发布这个问题之后不久,张贴1.4发布了,随之而来的是数据集API得到官方支持并得到了更好的记录。如果有人仍然对这个问题感兴趣,我建议你从TF文档中查看this paragraph。