我正在尝试为张量流中的 DNNClassifier
创建一个 input_fn
. DNNClassifier
的 train
方法如下,
input_fn:一种为训练提供输入数据作为小型游戏的功能 . 有关详细信息,请参阅TensorFlow入门 . 该函数应该构造并返回以下内容之一:'tf.data.Dataset'对象:数据集对象的输出必须是具有如下约束的元组(特征,标签) . 元组(要素,标签):其中要素是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'>