c++ - tensorflow C++ API : Difference between `fetch_outputs` and `run_outputs` in `Session::Run`

标签 c++ tensorflow

您好 TensorFlow 专家,

我在 Session::Run 的 C++ API 签名中发现如下

Status Run(
  const RunOptions & run_options,
  const FeedType & inputs,
  const std::vector< Output > & fetch_outputs,
  const std::vector< Operation > & run_outputs,
  std::vector< Tensor > *outputs,
  RunMetadata *run_metadata
) const 

fetch_outputsrun_outputs 有什么区别?目前我的理解,run_outputs是run过程中求值的最终操作节点,fetch_outputs都是run_outputs求值时产生的中间值。看起来 fetch_outputs 的结果在函数返回时存储到 outputs 中。是否也有可能我也获得了 run_outputs 的值(或者 run_outputs 已包含在 outputs 中)?

最佳答案

你的理解基本正确。 fetch_outputs 是将在 outputs 中计算和返回的张量列表。 run_outputs 是我们需要运行的操作列表(例如,更新一些变量)但不关心它们的输出。

我不确定您所说的“我是否也有可能获得 run_outputs 的值”是什么意思?如果您想要从 run_outputs 中的操作生成张量,只需将这些张量包含在 fetch_outputs 中。它们不包含在 outputs 中 - 这是它们的全部目的。

关于c++ - tensorflow C++ API : Difference between `fetch_outputs` and `run_outputs` in `Session::Run` ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49656961/

相关文章:

c++ - 获取两个不同模板的产品类型

c++ - Visual C++ 表达 2008 : Why does it places megs of null bytes at the end of the release executable?

csv - 如何在 Tensorflow 中读取可变长度一维输入?

python - Keras 功能 API : Pooling input does not give correct output shape

python - 尝试合并两个模型的输入和输出时出现问题

c++ - 最快的 C++ 序列化?

C++ lambda 生命周期

c++ - QRegEx 帮助,一般的 RegEx

python - 在 python 中为 AWS Lambda 构建 TensorFlow 包

python - 限制 Tensorflow CPU 和内存使用