2016-08-05 4 views
3

私はAIとテンソルフローの完全な初心者ですので、これが間違った質問であれば許してください。 私はこのチュートリアルに基づいてスクリプトを使用してtensorflowネットワークを訓練してきました:Tensorflowの 'features'形式

https://www.tensorflow.org/versions/r0.10/tutorials/wide_and_deep/index.html

私はトレーニングがOKだったと信じています。 は、今私は、単一の入力のための予測を行うために、この方法を実行するためにwhant:

tf.contrib.learn.DNNClassifier.predict_proba(x=x) 

しかし、私は「×」パラメータを構築する方法上の任意のドキュメントを見つけることができない... 私がしようと試み:

x = {k: tf.SparseTensor(indices=[[0, 0]], values=[d_data[k]], shape=[1, 1]) for k in COLUMNS} 

ここで、 d_dataは約150のキーと値のペアを含む辞書です。 COLUMNSには、必要なすべてのキーが記載されています。 この同じ設定がネットワークのトレーニングに使用されました。

しかしエラーました:

AttributeError: 'dict' object has no attribute 'dtype' 

をそう...そしてx「は辞書」すべきではない...しかし、それは何をすべきですか? 誰かが私に指示を与えることはできますか?

ありがとうございます。

答えて

2

BaseEstimatorクラスは、より良いdocumentationを持っています。

x: Matrix of shape [n_samples, n_features...]. Can be iterator that returns arrays of features. The training input samples for fitting the model. If set, `input_fn` must be `None`. 

ここではドキュメントを修正していきます。指摘してくれてありがとう。

0

同じエラーが発生しましたが、これはテンソルフローの古いリリース(私は0.8.0です)を使用しているためだと思うし、フィットメソッドは異なる入力タイプのinput_fnを取ることができると思います辞書の形式は、それがxと入力テンソル行列オブジェクトに必須であるので、なぜこの関数は、「input_fn」を持っていない私の現在のリリースではhere

def fit(self, x=None, y=None, input_fn=None, steps=None, batch_size=None, 
     monitors=None, max_steps=None): 

を参照してください。

その間に解決策を見つけられましたか?