2017-04-25 24 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編譯)是唯一的線索我可以找到迄今爲止。 –