2017-04-25 31 views
0

我在android中使用tensorflow。我安装了可用的TFClassify apk。我运行了应用程序,它的运行速度很快,推理时间不超过400毫秒。但是,当我用我的模型替换可用的训练模型时,在显示结果之前需要大约2000ms的计算时间。为什么会有这样的差异,我如何优化我的retrained_graph.pb?如何提高张量流计算时间

回答

0

您是否将再培训模型转换为经过优化的&量化图?

如果不尝试:

tensorflow/bazel-bin/tensorflow/python/tools/optimize_for_inference \ 
     --input=retrained_graph.pb \ 
     --output=optimized_graph.pb \ 
     --input_names=Mul \ 
     --output_names=final_result 

tensorflow/bazel-bin/tensorflow/tools/quantization/quantize_graph \ 
     --input=optimized_graph.pb \ 
     --output=rounded_graph.pb \ 
     --output_node_names=final_result \ 
     --mode=weights_rounded 

仅供参考,您必须首先构建这些工具。

+0

我对图进行了优化和量化,它将推理时间缩短了几个ms。现在推断时间减少到1800毫秒,但仍然比原始模型(400毫秒)多很多。还有哪些方法可以改进?我的模型的大小是87.1 MB –

+0

首先,图形文件的大小并不重要。使用.APK打包时,量化图可以压缩到〜25MB。其次,我也想知道如何提高Android上的推理性能。 我还没有尝试过,但是http://stackoverflow.com/questions/43585773/how-to-pass-optimization-flags-to-bazel-build-for-tensorflow(使用makefile编译)是唯一的线索我可以找到迄今为止。 –