TensorFlow C ++中feed_dict的语法是什么?

时间:2017-06-18 10:36:02

标签: c++ tensorflow

我想在TensorFlow C ++ 中构建和训练一个由两层组成的图形,并以给定矩阵作为输入来提供它。

我有两个不同的语法示例:

The official C++ example (line # 129)

An old answer in StackOverflow

它们似乎在"输入"的确切语法方面相互矛盾。参数to tensorflow :: Session :: Run()

应该是" placeholder_name:0"或" placeholder_name"?

1 个答案:

答案 0 :(得分:1)

任何一个都有效。名称将通过ParseTensorName传递,其中假定没有冒号的名称的输出索引为0.要验证这一点,我们可以添加":0"在DirectSessionMinusAXTest::TestFeed中的Feed名称末尾:

std::vector<std::pair<string, Tensor>> inputs = {{x_, t}};

变为

std::vector<std::pair<string, Tensor>> inputs = {{x_ + ":0", t}};

它仍然通过。

唯一需要传递输出索引的情况(更准确地说是唯一需要它的情况;可能有一些代码缺乏规范化)就是如果你正在提供一个不是第0个输出的Tensor操作(例如&#34;唯一:1&#34;)。这是非常罕见的,因为常量和占位符操作是最可能的Feed目标,并且只有一个输出。