我正在使用MNIST教程中的代码:
feature_columns = [tf.contrib.layers.real_valued_column("", dimension=4)]
classifier = tf.contrib.learn.DNNClassifier(feature_columns=feature_columns,
hidden_units=[10, 20, 10],
n_classes=2,
model_dir="/tmp/iris_model")
classifier.fit(x=np.array(train, dtype = 'float32'),
y=np.array(y_tr, dtype = 'int64'),
steps=2000)
accuracy_score = classifier.evaluate(x=np.array(test, dtype = 'float32'),
y=y_test)["auc"]
print('AUC: {0:f}'.format(accuracy_score))
from tensorflow.contrib.learn import SKCompat
ds_test_ar = np.array(ds_test, dtype = 'float32')
ds_predict_tf = classifier.predict(input_fn = _my_predict_data)
print('Predictions: {}'.format(str(ds_predict_tf)))
但最后我得到了以下结果而不是预测:
Predictions: <generator object DNNClassifier.predict.<locals>.<genexpr> at 0x000002CE41101CA8>
我做错了什么?
您接收并保存到
ds_predict_tf
的是一个生成器表达式。 要打印它,您可以:或者
您可以阅读有关genexprhere的更多信息。
例如
以了解有关分类器方法和参数的更多信息。以下是预测方法文档的一部分。
来自DNNClassifier文档:
预测
as-iterable:如果为True,则返回一个iterable,该iterable将为每个示例生成预测,直到输入用尽为止。注意:如果您希望iterable终止,则输入必须终止(例如,如果您使用类似于read_batch的功能,请确保传递num_epochs=1)。
解决方案:-
就这样。。。
相关问题 更多 >
编程相关推荐