问题标签 [tensorflow-estimator]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2750 浏览

tensorflow - 使用 tf.Estimator 时如何控制丢失日志消息的频率

我正在使用 TF 1.4。我的问题是关于 tf.estimator.Estimator。

我想控制“丢失和步进”信息消息的频率,例如:

我将 tf.estimator.RunConfig 传递给 Estimator 的构造函数。但我不认为有一个参数来控制“损失和步骤”消息。

我认为参数在 _train_model 方法中的 estimator.py 中是硬编码的:

0 投票
1 回答
661 浏览

image-processing - 如何在使用 tensorflow 训练卷积神经网络 (cnn) 期间获得评估结果

我使用 TensorFlow 构建超分辨率卷积神经网络以提高图像分辨率。该网络接受低分辨率图像作为输入并生成高分辨率图像作为输出。

对于训练,我使用tf.estimator.Estimator

tf.contrib.learn.Experiment包装

我通过tf.contrib.learn.learn_runner运行它,如下所示:

Experiment 类提供了在训练期间进行评估的方法 train_and_evaluate。

我的问题是如何在训练 cnn 期间获得评估结果(输出图像)?我想看到一个时间训练结果。

我在github上的项目

0 投票
1 回答
628 浏览

tensorflow - TFLearn、tf.contrib.learn 还是 tf.estimator?

几个月来,我一直在使用 Tensorflow 和 TFLearn。我已经取得了一些进展。但是,我希望能够将功能正常的 scikit-learn 类型 Estimator 构建为TFLearn.DNN. 我可以fit,我可以predict,但我不能做交叉验证,因为evaluate对我来说失败了。TensorFlow 正在抛出:

ValueError:无法使用给定的会话来评估张量:张量的图表与会话的图表不同。

当我打电话时evaluate。我认为 TFLearn API 的全部意义在于将会话管理等内容从我的代码中抽象出来。

我曾在多个论坛(包括项目的 GitHub 页面)上就 TFLearn 遇到的问题提出问题。不幸的是,我没有得到任何答案。

前几天,突然遇到tf.contrib.learn命名空间。我看到这些类和 TFLearn 之间有很多重叠。然后,我也找到了tf.estimator班级。

最后,我才发现tensorflow.contrib子包是第三方贡献的。这让我想知道原来的 TFLearn 是否只是被吸收到更大的 TensorFlow 包中。代码流向哪个方向?

我不在乎我使用什么,只要我获得了 scikit-learn 估计器对象的所有功能。

0 投票
1 回答
280 浏览

python-3.x - 构建自己的 tf.Estimator,model_params 是如何覆盖 model_dir 的?运行时警告?

最近我使用 TFLearn 构建了一个定制的深度神经网络模型,声称将深度学习带入 scikit-learn estimator API。我可以训练模型并做出预测,但我无法让评分(评估)功能发挥作用,因此我无法进行交叉验证。我尝试在各个地方询问有关 TFLearn 的问题,但没有得到任何回应。

TensorFlow 本身似乎有一个估计器类。因此,我将 TFLearn 放在一边,并尝试遵循https://www.tensorflow.org/extend/estimators上的指南。不知何故,我设法将变量放在不属于它们的地方。谁能发现我的问题?我将发布代码和输出。

注意:当然,我可以在输出顶部看到 RuntimeWarning。我在网上找到了对这个警告的引用,但到目前为止,每个人都声称它是无害的。也许不是...

代码:

输出

我可以确切地看到出了什么问题,model_dir(我将其保留为默认值)以某种方式绑定到我打算用于 model_params 的值。这在我的代码中是如何发生的?我看不到它。

如果有人有意见或建议,我将不胜感激。谢谢!

0 投票
2 回答
3814 浏览

python - 使用 tf.estimator 自定义指标

我希望 tensorflow 在评估我的估计器期间计算确定系数(R 平方)。根据官方指标的实现,我尝试通过以下方式松散地实现它:

然后,我将此函数用作 EstimatorSpec 中的度量:

但是,这失败了,因为我的 R 平方实现没有返回 update_op。

现在我想知道, update_op 到底应该做什么?我真的需要实现 update_op 还是我可以以某种方式创建某种虚拟 update_op?如果有必要,我将如何实施?

0 投票
2 回答
2363 浏览

tensorflow - TensorFlow - 如何从 tf.Estimaor 获取我的损失值

我正在尝试在 TensorFlow 中使用 tf.estimator 训练 alexnet 模型。训练过程很顺利,我可以看到日志显示得很好。

下面是如何调用训练函数:

拜托,我怎样才能从 tf 估计器对象中将我的损失值作为普通的 python 浮点数

0 投票
1 回答
972 浏览

python - 如何使用使用 Estimator 和 Dataset API 训练的已保存模型进行预测?

我已经使用tf.estimatorand训练了一个 cnn 模型tf.data.TFRecordDataset,它在函数中定义模型并在函数中model_fn输入。input_fn还使用一次性迭代器一次获取一批示例。

现在我已经在一个目录中训练了模型文件(ckpt、meta、index)。我想要做的是根据训练好的模型预测图像的标签,而无需再次进行训练和评估。图像可以是 numpy 数组,但不可能是 TFRecords 文件(在训练时使用)。

经过一整天的尝试,我找不到有效的解决方案。我只能得到权重和偏差的值,不知道如何使我的预测图像和模型兼容。

仅供参考,我的培训代码在这里

类似的问题是Prediction from model saved with tf.estimator.Estimatorin Tensorflow ,但没有接受的答案,我的模型输入正在使用数据集 api。

所以真的需要帮助。谢谢。

0 投票
1 回答
893 浏览

python - Tensorflow Estimator:在单独的脚本中使用 predict() 函数

我已经成功地(我希望)使用 tf.Estimator 训练和评估了一个模型,我达到了大约 83-85% 的训练/评估准确度。所以现在,我想使用 Estimator 类中的 predict() 函数调用在单独的数据集上测试我的模型。最好我想在单独的脚本中执行此操作。

我在上面说我需要导出为 SavedModel,但这真的有必要吗?查看 Estimator 类的文档,似乎我可以通过model_dir参数将路径传递给我的检查点和图形文件。有没有人有这方面的经验?当我在用于验证的同一数据集上运行模型时,我没有获得与验证阶段相同的性能...... :-(

0 投票
2 回答
3122 浏览

performance - Tensorflow Estimator 预测很慢

我训练了一个 tf.estimator.LinearClassifier。虽然针对我的数据大小(约 60 秒)训练和评估模型需要合理的时间,但预测需要更长的数量级(约 1 小时)。

预测代码如下:

和:

当运行 10 000 个样本(对应于一批)时,第二行需要 0.8 秒才能执行。对于 50 000 000 个样本,预测需要一个多小时。

我在这个阶段的猜测是,这种缓慢的性能仅仅是因为估计器 predict() 函数返回一个 python 生成器而不是返回实际的预测结果。对于每个批次,生成器最终会导致 10 000 次函数调用以获得 10 000 个预测结果。这似乎效率低下。

有什么办法可以加快速度吗?

0 投票
1 回答
3214 浏览

python - 如何在 TensorFlow 中的 tf.estimator 上使用 TensorFlow 调试工具 tfdbg?

我正在使用 Tensorflow 1.4 版,我想调试我的train()函数。

在此链接中https://www.tensorflow.org/programmers_guide/debugger#debugging_tf-learn_estimators_and_experiments

有一种方法可以做到这一点tf.contrib.learn Estimators,但我找不到一种方法来适应(1.4 版中的新功能)tf.estimator

这是我尝试过的:

但我遇到了这个错误:

有人可以指出我正确的方向吗?