您好 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_outputs
和 run_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/