我尝试在张量流中为input_fn
创建DNNClassifier
。 DNNClassifier
train
方法如下所述,
input_fn
:一种为训练提供输入数据作为小型游戏的功能。有关详细信息,请参阅TensorFlow入门。该函数应构造并返回以下内容之一:A' tf.data.Dataset' object:Dataset对象的输出必须是具有相同约束的元组(features,labels)。
元组(要素,标签):其中要素是Tensor或Tensor的字符串要素名称字典,而标签是Tensor或Tensor的字符串标签字典。 model_fn都使用这两个功能和标签。它们应满足输入中对model_fn的期望。
它说我可以创建一个input_fn
,只返回(features, labels)
features
是一个张量。但numerical_column
需要key
此处代码
import tensorflow as tf
from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets("MNIST_DATA/", one_hot=False)
train_x, train_y = mnist.train.images, mnist.train.labels
train_y = train_y.astype(np.int32)
def train_input_fn(features, labels):
return features, labels
feature_columns = [tf.feature_column.numeric_column("")]
classifier = tf.estimator.DNNClassifier(
feature_columns=feature_columns,
hidden_units=[10, 10],
n_classes=10
)
classifier.train(
input_fn=lambda:train_input_fn(train_x, train_y),
steps=1000
)
我收到了错误
ValueError: features should be a dictionary of `Tensor`s. Given type: <class 'numpy.ndarray'>