DNNClassifierを作成しようとしていますが、データをオブジェクトに渡す方法がわかりません。データファイルはnp.save()で作成された.npyファイルです。DNNClassifierにnumpy配列を与える方法
- トレーニングデータ:形状の配列(106398,338)ここで、106398はデータのインスタンス数です。
- トレーニングラベル:(ホットエンコーディングで)私は予測したいクラスの数が97形(106398,97)の配列
import tensorflow as tf
from tensorflow.contrib.learn import DNNClassifier
import numpy as np
feature_columns = np.load(path_to_file)#learn.infer_real_valued_columns_from_input(iris.data)
feature_tags=np.load(path_to_other_file)
classifier = DNNClassifier(hidden_units=[10, 20, 10], n_classes=97, feature_columns=feature_columns)
classifier.fit(feature_columns, feature_tags, steps=200, batch_size=1000)
predictions = list(classifier.predict(feature_columns, as_iterable=True))
score = metrics.accuracy_score(feature_tags, predictions)
print("Accuracy: %f" % score)
と私が手:ValueErrorを:複数の要素を持つ配列の真理値はあいまいです。 a.any()またはa.all()を使用する
私は(feature_columnsとfeature_tags)の両方をtf.constantボットに作成しようとしましたが、動作しません。
どうすれば修正できますか?
8.0 locally Traceback (most recent call last):
File "nueva.py", line 31,
in <module> classifier = DNNClassifier(hidden_units=[10, 20, 10], n_classes=97, feature_columns=feature_columns)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/learn/python/learn/estimators/dnn.py", line 296,
in init self._feature_columns = tuple(feature_columns or [])
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
これは、分類子が作成された行で起こります。 – Benjamin
'feature_columns'の形状とdtypeは何ですか?エラースタックも必要です。 – hpaulj
完全なエラースタックは です。0ローカル トレースバック(最新の呼び出しの最後): クラシファイア= DNNClassifier(hidden_units = [10、20、10]、n_classes = 97、feature_columns = feature_columns) ファイル」で ファイル "nueva.py"、ライン31、 /usr/local/lib/python2.7/dist-packages/tensorflow/contrib/learn/python/learn/estimators/dnn.py "、296行目、__init__ self._feature_columns =タプル(feature_columnsまたは[]) ValueError:複数の要素を持つ配列の真理値はあいまいです。 a.any()またはa.all() を使用し、feature_columnsの形状は(106398,338)であり、浮動小数点数の配列です。 –
Benjamin