耗时的 Tensorflow C++会话>运行 - 用于实时推理的图像

Time Consuming Tensorflow C++ Session->Run - Images for Real-time Inference

本文关键字:运行 用于 推理 图像 实时 gt Tensorflow C++ 会话      更新时间:2023-10-16

[CPU上的Tensorflow(TF)]我正在使用GitHub [label_image/main.cc]为C TF推理提供的骨架代码,以运行我在Python中创建的冷冻模型。该模型是带有两个隐藏层的FC NN。

在我当前项目的C 代码中,我为每个图像(8x8像素)运行NN的冷冻分类器。对于每个示例,一个会话 ->运行呼叫大约需要0.02秒,这在我的应用程序中很昂贵,因为我可以运行64000个样本。

当我发送一批1560个样本时,会话 ->运行呼叫大约需要0.03秒。

这些时间测量是否正常 ->运行呼叫?从C 端,我是否应该发送冷冻模型的图像批次而不是单个样本?从Python的末端,是否有优化技巧来减轻这种瓶颈?有没有办法在C 中同时进行会话 - 呼叫?

环境信息

操作系统:LinuxCuda和Cudnn的安装版本:n/a

您尝试了其他哪些尝试的解决方案?

  1. 我使用CPU的优化指令集安装了TF,但这似乎并没有给我提供大量的时间,请在Stackoverflow中节省大量时间
  2. 统一了我创建的图表的会话。

编辑
看来Matmul是瓶颈 - 任何建议如何改进?

我应该使用'Optimize_for_Inference.py'脚本来进行冷冻图?

如何以高精度测量python的时间?

用于进食8x8样品并获得Python的时间轴

喂食8x8批次并获得python

的时间轴

在记录中,我做了两件事,大大提高了应用程序的速度:

  1. 编译了TF以在我的机器的优化ISA上工作。
  2. 将批处理应用于我的数据样本。

如果您对我的答案有疑问,请随时在这里发表评论。

相关文章: