Tensorflow-鲜花的例子

时间:2017-08-16 14:44:00

标签: python tensorflow

我用非常漂亮的花朵尝试了这个最基本的例子。根据这个较老的问题(https://stackoverflow.com/a/41380178/6444605),有一些变化。但这个例子现在也是最新的吗?我问,因为我收到了这个错误:

  

classifier = skflow.DNNClassifier(hidden_​​units = [10,20,10],   n_classes = 3)TypeError:_ _ init _ _()至少需要3个参数(3   给出)

这就是代码:

import tensorflow.contrib.learn as skflow
from sklearn import datasets, metrics
iris = datasets.load_iris()
# made a change in the next line
classifier = skflow.DNNClassifier(hidden_units=[10, 20, 10], n_classes=3)
classifier.fit(iris.data, iris.target)
score = metrics.accuracy_score(iris.target, classifier.predict(iris.data))

print("Accuracy: %f" % score)

2 个答案:

答案 0 :(得分:3)

我认为您需要告诉功能的位置:

classifier = skflow.DNNClassifier(feature_columns=..., hidden_units=[10, 20, 10], n_classes=3)

您需要定义要素列,例如feature_columns = [tf.contrib.layers.real_valued_column("", dimension=4)],它告诉分类器它应该预期有4列带有实数。

由于skflow已移至tf.contrib.learn,您可能会发现这有用:https://www.tensorflow.org/api_docs/python/tf/contrib/learn/DNNClassifier 无论如何,feature_columnshidden_units在函数调用中是强制性的。

我在metrics.accuracy_score()时遇到了一些错误,因此我将其替换为classifier.evaluate()并最终使其正常运行。

请参阅下面的完整示例:

import tensorflow as tf
import tensorflow.contrib.learn as skflow
from sklearn import datasets

iris = datasets.load_iris()
feature_columns = [tf.contrib.layers.real_valued_column("", dimension=4)]
# made a change in the next line
classifier = skflow.DNNClassifier(feature_columns=feature_columns, hidden_units=[10, 20, 10], n_classes=3)

classifier.fit(iris.data, iris.target, steps=50)

score = classifier.evaluate(iris.data, iris.target, steps=1)["accuracy"]
print("Accuracy: {}".format(score))

可以在此处找到更多扩展示例:https://www.tensorflow.org/get_started/tflearn

答案 1 :(得分:0)

对此的另一个解决方案可能是:它是张量流版本0.8而不是实际的>所以只需切换这个小例子的版本。