这个问题与这个问题有关:从Python导出Tensorflow图用于C语言
我正在尝试将Tensorflow模型从Python导出到C。问题是,我的神经网络从一个占位符开始接收输入,这需要一个提要。我找不到任何c API为我的模型提供提要。我能做什么?
如果没有提供feed_dicts的API,我应该如何更改我的模型,以便它可以在没有占位符的情况下为c目的进行训练和导出?
tenstorflow::会话::Run()
方法是Pythontf的C等效项。Session.run()
方法,它支持使用输入
参数馈送张量。就像C和Python中的许多东西一样,它只是使用起来有点棘手(在这种情况下,看起来留档有点差...)。
inputs
参数的类型为const std::vector
>
std::pair的第一个元素
p = tf.placeholder(..., name="placeholder")
# ...
sess.run(..., feed_dict={p: ...})
...然后在C中,该对的第一个元素是p.name
的值,在本例中为“占位符:0”
std::对的第二个元素
using tensorflow::Tensor;
using tensorflow::TensorShape;
Tensor t(DT_FLOAT, TensorShape({2, 2}));
auto t_matrix = t.matrix<float>();
t_matrix(0, 0) = 1.0;
t_matrix(0, 1) = 0.0;
t_matrix(1, 0) = 0.0;
t_matrix(1, 1) = 1.0;
...然后可以将t
作为该对的第二个元素传递。