TypeError:“float”类型的参数不是iterableletensorflow wide\u deep\u教程

2024-03-29 08:04:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我在我的个人数据集上运行TensorFlowhttps://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/learn/wide_n_deep_tutorial.py的wide_n_deep_教程程序时遇到了一个问题,参数是可变的。我正在从S3加载数据。

我的目标变量是“impression_flag”,它的值为“TRUE”或“FALSE”。以下是train-and-eval方法的代码片段:

    def train_and_eval():
  """Train and evaluate the model."""
  train_file_name, test_file_name = maybe_download()
  df_train = pd.read_csv(
      tf.gfile.Open(train_file_name),
      names=COLUMNS,
      skipinitialspace=True)
  df_test = pd.read_csv(
      tf.gfile.Open(test_file_name),
      names=COLUMNS,
      skipinitialspace=True,
      skiprows=1)
  df_train[LABEL_COLUMN] = (
      df_train["impression_flag"].apply(lambda x: "TRUE" in x)).astype(int)
  df_test[LABEL_COLUMN] = (
      df_test["impression_flag"].apply(lambda x: "TRUE" in x)).astype(int)

  model_dir = tempfile.mkdtemp() if not FLAGS.model_dir else FLAGS.model_dir
  print("model directory = %s" % model_dir)

  m = build_estimator(model_dir)
  m.fit(input_fn=lambda: input_fn(df_train), steps=FLAGS.train_steps)
  results = m.evaluate(input_fn=lambda: input_fn(df_test), steps=1)
  for key in sorted(results):
    print("%s: %s" % (key, results[key]))

运行代码时,将显示错误“Type error:'float'类型的参数不可iterable”。下面是错误的截图。 enter image description here

任何帮助都将不胜感激!


Tags: andlambdanametesttruedfinputmodel