gpt4 book ai didi

machine-learning - 直接将输入提供给 tf.contrib.learn 估计器

转载 作者:行者123 更新时间:2023-11-30 08:49:31 25 4
gpt4 key购买 nike

我在使用 TensorFlow 的 tf.contrib.learn 中的 DNNRegressor 估计器时遇到问题。在 documentation page提出了估计器的两种提供输入的方法。

第一种方法使用 input_fn 函数,如上所述,该函数应用于预处理并将输入提供给估计器,第二种方法直接提供输入。示例:

def input_function:
...
return feature_cols, label

estimator.fit(input_fn=input_function, steps=...)

在这种情况下,feature_cols是一个字典,其中:

  • 键:字符串指定列名称,
  • 值:tf.constant指定列值,

label 是包含标签的单个 tf.constant 列。

这有效。

X_train = ...
y_train = ...
estimator.fit(x=X_train, y=y_train, steps=...)

在这种情况下,我不知道要输入什么作为Xy。我尝试过以下方法:

  • 普通 numpy 数组。这是一个远景,并且行不通。错误消息为:KeyError: 'my_column0'
  • Pandas DataFrame 的列对应于定义的列名称(在估算器初始化时定义)。我会再次得到相同的 KeyError,即使 key 现在应该在那里。
  • 传递X=feature_cols和y=label,其定义方式与上述input_fn的情况相同。这会产生:ValueError:输入不能是张量。请提供input_fn。

我还尝试了 dict 和 numpy 数组的其他组合,但没有任何效果。我希望能够使用第二种方法来完成这项工作,因为这对于将对象传递给评估预测也很有用。有谁知道这个的正确格式?另外,有没有办法简单地传递 numpy 数组?

谢谢!

tl;博士tf.contrib.learn 估计器的输入应该是什么,以便使用estimator.fit(x=X_train,y=y_train,steps=...)直接提供它们?

最佳答案

我想我错过了以下警告:一些参数已被弃用。它们将于 2016 年 12 月 1 日后被删除。更新说明:Estimator 通过移入单独的类 SKCompat 与 Scikit Learn 接口(interface)分离。参数 x、y 和 batch_size 仅在 SKCompat 类中可用,Estimator 仅接受 input_fn。转换示例:est = Estimator(...) -> est = SKCompat(Estimator(...))

奇怪的是,2016 年 12 月 1 日之后,争论仍然存在。

关于machine-learning - 直接将输入提供给 tf.contrib.learn 估计器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42787903/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com