私はbenchmark_modelでExynos 7420のテンソルフローモデルをベンチマークしました。私はPete Warden's blogごとにテスト量子化をスピードアップしたいと思いますが、多くのことを壊すので、まだ量子化depsでbenchmark_modelをコンパイルできませんでした。Androidでベンチマーキング量子化
:deps = [":benchmark_model_lib",
"//tensorflow/contrib/quantization/kernels:quantized_ops",
],
// tensorflowに/ contrib /量子化/カーネル/ BUILD cc_binary BUILD/
// tensorflow /ツール/ベンチマーク:
私はこのstack overflow threadに記載されているガイドラインに従ってきました
deps = [
"//tensorflow/contrib/quantization:cc_array_ops",
"//tensorflow/contrib/quantization:cc_math_ops",
"//tensorflow/contrib/quantization:cc_nn_ops",
#"//tensorflow/core",
#"//tensorflow/core:framework",
#"//tensorflow/core:lib",
#"//tensorflow/core/kernels:concat_lib_hdrs",
#"//tensorflow/core/kernels:conv_ops",
#"//tensorflow/core/kernels:eigen_helpers",
#"//tensorflow/core/kernels:ops_util",
#"//tensorflow/core/kernels:pooling_ops",
"//third_party/eigen3",
"@gemmlowp//:eight_bit_int_gemm",
],
次に実行します。
bazelビルド-cオプト--cxxopt = ' - 秒td = gnu ++ 11 ' - crosstool_top = //外部:android/crosstool --cpu = armeabi-v7a --host_crosstool_top = @ bazel_tools // tools/cpp:toolchainテンソルフロー/ツール/ベンチマーク:benchmark_model --verbose_failures
リンクされた投稿の他のすべての指示に続くものは、pthreadとのリンクに失敗したことを除いて成功します。
tensorflow/tensorflow.bzl tfcopts()で-lpthreadを削除しようとしましたが、テンソルフロー/ tools/proto_text/BUILDとtensorflow/cc/BUILDでも同様でした。
def tf_copts():
return (["-fno-exceptions", "-DEIGEN_AVOID_STL_ARRAY"] +
if_cuda(["-DGOOGLE_CUDA=1"]) +
if_android_arm(["-mfpu=neon"]) +
select({"//tensorflow:android": [
"-std=c++11",
"-DMIN_LOG_LEVEL=0",
"-DTF_LEAN_BINARY",
"-O2",
],
"//tensorflow:darwin": [],
"//tensorflow:ios": ["-std=c++11",],
#"//conditions:default": ["-lpthread"]}))
"//conditions:default": []}))
まだリンクエラーが発生しています。
external/androidndk/ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9/../../../../arm-linux-androideabi/bin/ld: error: cannot find -lpthread
collect2: error: ld returned 1 exit status
ご迷惑をおかけして申し訳ありません。
ENV:
- Ubuntuの#4462
- android_ndk_r11c
- アンドロイド-SDK-linuxのr24.4.1
- のPython 2.7.12 ::連続解析を、株式会社をコミットtensorflow 14.04
- ./GCP、HDFS、またはGPUをサポートしない設定
これでうまくいきました。はい、量子化された演算を最適化しています。したがって、現在の速度を最大にすることはできません。 –