当feature只是一个张量而不是dict时,如何在tensorflow中创建numeric_column?

时间:2018-03-06 02:05:07

标签: python tensorflow deep-learning

我尝试在张量流中为input_fn创建DNNClassifierDNNClassifier 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'>

0 个答案:

没有答案