【问题标题】:TensorFlow - ValueError: features should be a dictionary of `Tensor`sTensorFlow - ValueError:特征应该是`Tensor`s的字典
【发布时间】:2018-05-21 15:54:10
【问题描述】:

我正在尝试使用 TensorFlow 编写一个模型,该模型利用预制的 DNNClassifier 对鸢尾花进行分类。

BATCH_SIZE=100
TRAIN_STEPS=1000

def main(unused_argv):
  # Load training and eval data
  iris = tf.contrib.learn.datasets.load_dataset("iris")
  data = iris.data
  labels = iris.target
  train_data = data[:100]
  train_labels = labels[:100]
  eval_data = data[100:]
  eval_labels = labels[100:]
  # Feature columns
  feature_columns = [
    tf.feature_column.numeric_column(key="SepalLength"),
    tf.feature_column.numeric_column(key="SepalWidth"),
    tf.feature_column.numeric_column(key="PetalLength"),
    tf.feature_column.numeric_column(key="PetalWidth")
  ]
  # Build DNN with 2 hidden layers, 10 neurons each
  classifier = tf.estimator.DNNClassifier(feature_columns=feature_columns, hidden_units=[10, 10], n_classes=3)
  # Train model
  train_input_fn = tf.estimator.inputs.numpy_input_fn(
    x=train_data,
    y=train_labels,
    batch_size=BATCH_SIZE,
    num_epochs=None,
    shuffle=True
  )
  classifier.train(input_fn=train_input_fn, steps=TRAIN_STEPS)
  # Evaluate model
  eval_input_fn = tf.estimator.inputs.numpy_input_fn(
    x=eval_data,
    y=eval_labels,
    num_epochs=1,
    shuffle=False
  )
  eval_results = classifier.evaluate(input_fn=eval_input_fn)
  print(eval_results)

我收到以下错误:

ValueError: features 应该是 Tensors 的字典。

据我了解,它们应该是一个列表。我的实现有什么问题?

【问题讨论】:

    标签: python tensorflow machine-learning deep-learning


    【解决方案1】:

    你的 tensorflow 版本是多少?

    根据this,如果你使用1.4或更低的版本,这个错误可以通过升级来解决。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-10
      • 2020-06-24
      • 2018-05-18
      • 2017-06-18
      • 2020-06-09
      • 2019-09-17
      • 2019-10-23
      • 2017-08-07
      相关资源
      最近更新 更多