[CPU上的Tensorflow(TF)] 我正在使用从GitHub [label_image / main.cc]为C ++ TF推断提供的框架代码,以便运行我在Python中创建的冻结模型。该模型是具有两个隐藏层的FC NN。
在我目前的项目C ++代码中,我为每个单独的图像(8x8像素)运行NN的冻结分类器。对于每个样本,Session-> Run调用大约需要0.02秒,这在我的应用程序中很昂贵,因为我可以运行64000个样本。
当我发送一批1560个样本时,Session-> Run调用大约需要0.03秒。
会话的这些时间测量是否正常 - >运行呼叫?从C ++端,我应该发送我的冷冻模型批量图像而不是单个样本吗?从Python端,是否有优化技巧来缓解这一瓶颈?有没有办法在C ++中同时进行Session-Run调用?
环境信息
操作系统:Linux 已安装的CUDA和cuDNN版本:N / A
您尝试了哪些其他尝试的解决方案?
修改
似乎MatMul是瓶颈 - 有任何建议如何改进吗?
我应该使用' optimize_for_inference.py'我的冻结图的脚本?
如何以高精度测量Python中的时间?
Timeline for feeding an 8x8 sample and getting the result in Python
Timeline for feeding an 8x8 batch and getting the result in Python
答案 0 :(得分:0)
为了记录,我做了两件事,大大提高了我的申请速度:
如果您对我的回答有疑问,请随时在此发表评论。