2017-10-25 8 views
1

を分割しました。問題は、私がトレーニングに使用したいデータを多くの小さなCSV(feat-01.csvfeat-02.csvなど)に分割していることです。私はこれらをEstimatorに、より正確にはinput_fnの何らかの種類でこれを行うようにしています。Tensorflowはcsv input_fn

私の理想的な解決策は、dask.Dataframe(今まで私のデータをどのように生成していたか)を取って、見積もりにバッチする何らかの入力機能を持つことでした。いくつかのドキュメンテーション文字列を指すように思われるが、私はちょっと、原因を直接DASKを使用する方法についてのドキュメントの不足のためにこのアイデアをあきらめた

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

:しかし、これはで失敗

import tensorflow as tf 
import dask.dataframe as dd 

ddf = dd.read_csv('feat-*.csv') 
tf.contrib.learn.extract_dask_data(ddf) 

:私はこれらの線に沿って何かを試してみましたそれが可能であるべきだということを明らかにしている。私はinput_fnをcsvファイルから直接フィードすることを考えていましたが、このユースケースについての具体的な例も見つかりませんでした。

TFのnoobのビットで、私は達成する最もクリーンな方法が何であるか疑問に思っていました。

+0

'feat'と '*'の間のハイフンはPythonでエラーを投げます。アンダースコアはできません。テストするファイルの名前を変更しようとしましたか?ハイフンを削除して、ワイルドカードがハイフンを処理できるようにすることさえできますが、それが動作であるかどうかわからない(テストできません)ことはできません。 – Rookie

+0

@Rookieこれはここではそうではなく、 'Dataframe'は正常に構築されています。また、Pythonで一般にファイルを開くときにハイフンが問題になることはないと確信しています。 – nikitautiu

答えて

0

UPDATE:daskを経由して、それを実装するために無意味試みた後、私は欲求不満からとオーバーヘッドがはるかに少し可能性があるため、両方のアイデアをあきらめました。

tfのキューを使用して入力関数を実装しましたが、かなり良い結果が得られました。ここにはthe codeがあります。データフレームを推定器に渡すだけで、テンソルフロー内のすべての作業を行うことで気にしたことよりも少し複雑ですが、最もエレガントなアプローチです。

FINAL UPDATE:私は1.4がリリースされたtensorlfowこの質問を投稿し、それをデータセットのAPIが正式にサポートし、よりよい文書化された直後に 。もし誰かがまだこの質問に興味があれば、TFの文書からthis paragraphをチェックすることをお勧めします。

関連する問題