第一个数据点的Tensorflow推断运行时间高,后续数据点的运行时间低
我正在使用TensorFlow的对象检测模块中的一个模型进行推理。我在同一个会话中循环我的测试映像并执行sess.run()。但是,在分析这些运行时,我意识到第一次运行的时间总是比后续运行的时间要长 我找到了一个答案,解释了为什么会发生这种情况,但没有解决办法 我正在Intel i7 CPU上部署对象检测推断管道。一个session.run()的时间为1,2,3,第四个图像的显示类似(以秒为单位): 只是我所尝试过的背景:第一个数据点的Tensorflow推断运行时间高,后续数据点的运行时间低,tensorflow,deep-learning,object-detection,object-detection-api,pre-trained-model,Tensorflow,Deep Learning,Object Detection,Object Detection Api,Pre Trained Model,我正在使用TensorFlow的对象检测模块中的一个模型进行推理。我在同一个会话中循环我的测试映像并执行sess.run()。但是,在分析这些运行时,我意识到第一次运行的时间总是比后续运行的时间要长 我找到了一个答案,解释了为什么会发生这种情况,但没有解决办法 我正在Intel i7 CPU上部署对象检测推断管道。一个session.run()的时间为1,2,3,第四个图像的显示类似(以秒为单位): 只是我所尝试过的背景: 我尝试使用TensorFlow给出的TFRecords方法作为示例。我
- 我尝试使用TensorFlow给出的TFRecords方法作为示例。我希望它能工作得更好,因为它不使用feed_dict。但由于涉及到更多的I/O操作,我不确定它是否理想。我尝试在不写入磁盘的情况下使其工作,但在图像编码方面总是出现一些错误
- 我尝试使用TensorFlow数据集来提供数据,但我不确定如何提供输入,因为在推断过程中,我需要为图形中的“image tensor”键提供输入。关于如何使用它为冻结的图形提供输入,有什么想法吗
TLDR:为了部署目的,希望减少第一个映像的推断运行时间 尽管我已经看到第一个推论需要更长的时间,但显示的差异(84对1.5)似乎有点难以置信。您是否也在计算加载模型的时间,在这个时间度量内?这可能是大时差的差异吗?拓扑结构是否如此复杂,因此可以证明时间差是合理的 我的建议是:
尽管我已经看到第一个推论需要更长的时间,但所显示的差异(84对1.5)似乎有点难以置信。您是否也在计算加载模型的时间,在这个时间度量内?这可能是大时差的差异吗?拓扑结构是否如此复杂,因此可以证明时间差是合理的 我的建议是:
1. 84.7132628
2. 1.495621681
3. 1.505012751
4. 1.501652718