问题标签 [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 投票
4 回答
8941 浏览

tensorflow - 在 Tensorflow 中使用“tf.estimator.Estimator”保存的模型进行预测

tf.estimator.Estimator用来训练模型:

模型和权重在训练期间正确保存。

现在我想在另一个脚本中重新加载模型 + 权重以进行预测。

但我不知道如何指定输入,因为我在model_fn函数中没有引用它。

这是返回的内容graph.get_collection("variables")

我需要为tf.placeholder输入指定 a 吗?但是,Tensorflow 如何知道输入应该提供给这个特定的占位符呢?

另外,如果我features = tf.constant(features, name="input")在模型开头指定了类似的东西,我就不能使用它,因为它不是张量而是操作。


编辑

经过更多调查,我发现我需要使用该Estimator.export_savedmodel()方法保存我的模型(而不是在使用估计器进行训练期间重新使用自动保存的检查点。

然后我尝试加载模型并进行预测,但我不知道如何用我的 numpy 图像输入模型:

和例外的错误:

0 投票
1 回答
4592 浏览

python - 如何在 tf.estimator 的 input_fn 中使用 tf.data 的可初始化迭代器?

我想用 a 来管理我的培训,tf.estimator.Estimator但在与tf.dataAPI 一起使用时遇到了一些麻烦。

我有这样的事情:

由于我不能将 amake_one_shot_iterator用于我的用例,我的问题是它input_fn包含一个应该在其中初始化的迭代器model_fn(这里,我tf.train.Scaffold用来初始化本地操作)。

另外,我知道我们不能只使用input_fn = iterator.get_next其他操作,否则其他操作将不会添加到同一个图中。

初始化迭代器的推荐方法是什么?

0 投票
1 回答
2705 浏览

python - 如何使用 TensorFlow Estimator API 运行异步预测?

我正在使用 tf.estimator API 来预测标点符号。我使用 TFRecords 和tf.train.shuffle_batch. 现在我想做预测。我可以很好地将静态 NumPy 数据输入tf.constant并从input_fn.

但是,我正在处理序列数据,我需要一次提供一个示例,下一个输入取决于前一个输出。我还希望能够处理通过 HTTP 请求输入的数据。

每次estimator.predict调用它都会重新加载检查点并重新创建整个图。这是缓慢且昂贵的。所以我需要能够动态地将数据提供给input_fn.

我目前的尝试大致是这样的:

但是我收到以下错误: ValueError: Input graph and Layer graph are not the same: Tensor("EmbedSequence/embedding_lookup:0", shape=(1, 200, 128), dtype=float32) is not from the passed-in graph.

如何通过一个异步将数据插入到现有图表input_fn中以一次获得一个预测?

0 投票
1 回答
276 浏览

python - tf.estimator.RunConfig 不解析环境变量 TF_CONFIG

tf.estimator.RunConfig不解析环境变量TF_CONFIG。它只返回如下常量:

https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/estimator/run_config.py#L121-L151

在此处输入图像描述

我们不能运行分布式学习tf.estimator吗?

0 投票
1 回答
437 浏览

multithreading - Tensorflow tf.estimator.Estimator 与 QueueRunner

我正在重写我的代码以使用 tf.estimator.Estimator 作为我的模型的封装对象。问题是:我看不出典型的输入管道如何适应图片。

我的输入管道使用由tf.train.Coordinator.

为了满足要求,我在调用时传递给估算器tf.estimator.Estimator的函数中创建了所有“输入图” :init_fn

它看起来像这样 input_fn(f)

问题是:在这种情况下,我如何queue runners分别在 Estimator.train(...) 的开始和开始处开始和停止?

开始

我想办法启动我可以通过的队列,并且init_fn这样做是为了将对象传递给 Estimator。

但是如何加入线程并优雅地关闭它们 - 我不知道。

使用 tf.estimator 时是否有适当的线程输入管道的参考架构?

Estimator 类甚至准备好使用队列了吗?

0 投票
2 回答
888 浏览

tensorflow - 用 tf.estimator 初始化 tf.contrib.data.Iterator

tf.contrib.data.Iterator如果tf.estimator.Estimator也被使用,应该如何初始化?

问题之一是输入图(tf 图处理输入的部分)应该定义在intput_fn()- 因为 tf.estimator 创建单独的图。

这个要求使得很难访问迭代器init ops并传递它们to tf.estimator(传递操作可以train/evaluate/predict在以钩子形式调用时完成)。

0 投票
2 回答
6839 浏览

python - Tensorflow 中的 Estimator 中的自定义 eval_metric_ops

我正在尝试在我的估算器的 eval_metric_ops 中添加 r 平方,如下所示:

但我有以下错误:

TypeError: eval_metric_ops 的值必须是 (metric_value, update_op) 元组,给定: Tensor("rsquared:0", shape=(), dtype=float32) for key: rsquared

我也尝试不使用 name 参数,但没有改变任何东西。你知道如何创建这个 eval_metric_ops 吗?

0 投票
3 回答
6285 浏览

python - 在 tensorflow 中,我如何从生成器中读取我的预测?

我一直在调整以下 tensorflow 教程中最卷积的网络: https ://www.tensorflow.org/tutorials/layers

除了输入的形状外,我使用相同的代码。当我训练和评估时,我得到了很好的结果。但我想看到一个预测,以便我可以知道什么是错误分类的。但是在运行时

其中 my_data_to_predict 是正确形状的 numpy 数组,我得到以下输出:

我在论坛上读到我应该能够阅读我的做法:for i in y: print(i)

但它引发'numpy.ndarray'对象不可调用

如果我尝试也会发生同样的情况:

我在其他论坛上读到的..

你知道为什么它不输出我的预测吗?

这是我定义 predict 的代码部分:

我称之为:

非常感谢您的帮助,我会接受任何建议,想法:)

0 投票
2 回答
1226 浏览

tensorflow - Tensorflow Estimator API:使用动态 batch_size 记住前一批的 LSTM 状态以用于下一批

我知道类似的问题已经在 stackoverflow 和互联网上被问过好几次了,但我只是无法找到以下问题的解决方案:我正在尝试在 tensorflow 及其Estimator API中构建一个有状态的 LSTM 模型. 我尝试了Tensorflow 的解决方案,在 RNN 中保存状态的最佳方法?,只要我使用的是静态的,它就可以工作batch_size。具有动态 batch_size 会导致以下问题:

ValueError: initial_value 必须具有指定的形状:Tensor("DropoutWrapperZeroState/MultiRNNCellZeroState/DropoutWrapperZeroState/LSTMCellZeroState/zeros:0", shape=(?, 200), dtype=float32)

设置tf.Variable(...., validate_shape=False)只是将问题移到图表的下方:

根据github issue 2838,无论如何都不建议使用不可训练的变量(???),这就是我继续寻找其他解决方案的原因。

现在我在我的model_fn

但不幸的是,在使用API 等时,我不知道如何使用占位符new_state将其值反馈给state每次迭代的占位符。由于我对 Tensorflow 很陌生,我认为我在这里缺乏概念知识。是否可以使用自定义?:tf.EstimatorSessionRunHook

有没有人知道如何解决这个问题?非常感谢提示和技巧!!!非常感谢!

PS:如果有不清楚的地方请告诉我;)

编辑:不幸的是,我正在使用新的 tf.data API,不能 StateSavingRNNEstimator像 Eugene 建议的那样使用。

0 投票
1 回答
4821 浏览

python - Tensorflow Estimator API 在 eval 模式下保存图像摘要

目前,我尝试使用 Tensorflow 的新 Estimator API 在自定义图像数据集上训练自动编码器。

到目前为止,一切正常。我唯一的问题是在模型处于评估模式时将输入和输出图像保存为摘要。我在训练模式下创建的所有图像摘要都会正确存储并显示在 Tensorboard 中。

这是我的代码:

也许有人可以告诉我我做错了什么?

更新 以下是估计器和实验创建的功能:

估算器:

实验: