问题标签 [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.
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 图像输入模型:
和例外的错误:
python - 如何在 tf.estimator 的 input_fn 中使用 tf.data 的可初始化迭代器?
我想用 a 来管理我的培训,tf.estimator.Estimator
但在与tf.data
API 一起使用时遇到了一些麻烦。
我有这样的事情:
由于我不能将 amake_one_shot_iterator
用于我的用例,我的问题是它input_fn
包含一个应该在其中初始化的迭代器model_fn
(这里,我tf.train.Scaffold
用来初始化本地操作)。
另外,我知道我们不能只使用input_fn = iterator.get_next
其他操作,否则其他操作将不会添加到同一个图中。
初始化迭代器的推荐方法是什么?
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
中以一次获得一个预测?
python - tf.estimator.RunConfig 不解析环境变量 TF_CONFIG
tf.estimator.RunConfig
不解析环境变量TF_CONFIG
。它只返回如下常量:
我们不能运行分布式学习tf.estimator
吗?
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 类甚至准备好使用队列了吗?
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
在以钩子形式调用时完成)。
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 吗?
python - 在 tensorflow 中,我如何从生成器中读取我的预测?
我一直在调整以下 tensorflow 教程中最卷积的网络: https ://www.tensorflow.org/tutorials/layers
除了输入的形状外,我使用相同的代码。当我训练和评估时,我得到了很好的结果。但我想看到一个预测,以便我可以知道什么是错误分类的。但是在运行时
其中 my_data_to_predict 是正确形状的 numpy 数组,我得到以下输出:
我在论坛上读到我应该能够阅读我的做法:for i in y: print(i)
但它引发'numpy.ndarray'对象不可调用
如果我尝试也会发生同样的情况:
我在其他论坛上读到的..
你知道为什么它不输出我的预测吗?
这是我定义 predict 的代码部分:
我称之为:
非常感谢您的帮助,我会接受任何建议,想法:)
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.Estimator
SessionRunHook
有没有人知道如何解决这个问题?非常感谢提示和技巧!!!非常感谢!
PS:如果有不清楚的地方请告诉我;)
编辑:不幸的是,我正在使用新的 tf.data API,不能 StateSavingRNNEstimator
像 Eugene 建议的那样使用。
python - Tensorflow Estimator API 在 eval 模式下保存图像摘要
目前,我尝试使用 Tensorflow 的新 Estimator API 在自定义图像数据集上训练自动编码器。
到目前为止,一切正常。我唯一的问题是在模型处于评估模式时将输入和输出图像保存为摘要。我在训练模式下创建的所有图像摘要都会正确存储并显示在 Tensorboard 中。
这是我的代码:
也许有人可以告诉我我做错了什么?
更新 以下是估计器和实验创建的功能:
估算器:
实验: