与Python相比,TysFraseC++接口较慢

2024-09-28 22:16:21 发布

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

我是一个ToSoFalm爱好者,我试图导出一个模型(在Python中开发,然后用TysFooFooTM冻结和优化),用于C++项目中的使用(只是用于推理)。 我所经历的是,即使在其他用户已经打开的其他问题中发现的所有处方,编译源之后的C++可执行文件在推理操作(I是会话和GT;run)中比在Python推理代码中的相同操作要慢10倍。在

我知道在这个问题上有不同的问题。下面我使用以下命令构建了C++项目:

bazel build -c opt  --copt=-mfma --copt=-mfpmath=both //tensorflow/project:project

我还尝试使用与训练时相同的批处理大小来处理推理张量,但在session->;run操作的时间性能上,我仍然体验到同样的“震级10”的恶化。在

<>我意识到,原则上,C++实现比Python的速度要快(因为Python比C++高),所以我认为这个效果是违反直觉的。我的问题是我做错了什么,还是这只是Tensorflow的一个特征。在

另一个问题:在Web上搜索,我可以发现,冻结图具有减慢推理过程的效果(我可能错了),但是我无法想出一种替代图形的方法来加载C++代码中的图形,而不是冻结的代码(无论如何,冻结或不使用图对Python的性能没有影响)。也许有人也可以解释一下目前是否有其他选择。在

事先非常感谢您的建议,并感谢您在Tensorflow中所做的出色工作。在


Tags: 项目run代码用户模型project图形tensorflow
1条回答
网友
1楼 · 发布于 2024-09-28 22:16:21

我发现这个问题与冻结图有关。在python中,我发现我在python案例中使用的是checkpoint saved模型,而c++代码使用的是冻结模型(我的错误,对不起)。不管怎样,冻结图形似乎大大减慢了推理过程。在C++模式下切换到冻结模型后,Python推理代码也需要相同的C++推理时间。在

相关问题 更多 >