用c++为Tensorflow模型定义一个feed-dict

2024-10-01 13:34:19 发布

您现在位置:Python中文网/ 问答频道 /正文

这个问题与这个问题有关: Export Tensorflow graphs from Python for use in C++

我试图从Python导出一个TysFooSoad模型到C++。问题是,我的神经网络从一个占位符开始接收输入,这需要一个feed-dict,我找不到任何c++API来为我的模型提供feed-dict。我能做什么?在

如果没有提供feed-dicts的API,我应该如何更改我的模型,以便它可以在没有占位符的情况下为c++目的训练和导出?在


Tags: infrom模型apiforusetensorflowfeed
1条回答
网友
1楼 · 发布于 2024-10-01 13:34:19

^{}方法是python ^{}方法的C++等价物,它支持使用^ {< CD3>}参数来馈送张量。像C++和Python中的很多东西一样,使用起来有点复杂(在这种情况下,文档看起来有点差……)。在

inputs参数的类型为const std::vector<std::pair<string, Tensor>>&。让我们把这个分解一下:

  • inputs的每个元素都对应于一个张量(例如占位符),您要在Run()调用中提供这些张量。元素的类型为std::pair<string, Tensor>

  • std::pair<string, Tensor>的第一个元素是要输入的图中张量的名称。例如,假设在Python中有:

    p = tf.placeholder(..., name="placeholder")
    # ...
    sess.run(..., feed_dict={p: ...})
    
    +在C++中,对的第一个元素是^ {< CD10>}的值,在这种情况下,将是^ {CD11>}

  • std::pair<string, Tensor>的第二个元素是要作为^{}对象提供的值。你必须在C++中自己构建,定义一个NUMPY数组或Python对象有点复杂,但是这里有一个例子,说明如何指定一个2×2矩阵:

    ^{pr2}$

    …然后您可以将t作为对的第二个元素传递。

相关问题 更多 >