代码之家  ›  专栏  ›  技术社区  ›  Andrew

如何为android arm64_v8a构建tensorflow基准_模型?

  •  1
  • Andrew  · 技术社区  · 7 年前

    我在tensorflow 1.8文件夹中使用以下命令

    bazel build -c opt --cxxopt='--std=c++11' \
    //tensorflow/tools/benchmark:benchmark_model \
    --crosstool_top=//external:android/crosstool \
    --host_crosstool_top=@bazel_tools//tools/cpp:toolchain \
    --cpu=arm64-v8a --verbose_failures
    

    它给了我一个错误:

    ERROR: No default_toolchain found for cpu 'arm64-v8a'. Valid cpus are: [
      k8,
      local,
      armeabi-v7a,
      x64_windows,
      x64_windows_msvc,
      x64_windows_msys,
      s390x,
      ios_x86_64,
    ]
    INFO: Elapsed time: 0.315s
    INFO: 0 processes.
    FAILED: Build did NOT complete successfully (0 packages loaded)
    

    ubuntu 16.04,bazel 0.14.1,tensorflow 1.8版

    2 回复  |  直到 7 年前
        1
  •  1
  •   Jin    7 年前

    这是因为android ndk没有在 root WORKSPACE 文件。 Download the Android NDK 并将以下行添加到工作区:

    android_ndk_repository(
        name="androidndk",
        path="<PATH_TO_NDK>",
    )
    
        2
  •  0
  •   Andrew    7 年前

    我想出来了。使用bazel 0.10.1,sdk api级别27,ndk 15,构建工具27.0.3,tensorflow 1.8。

    首次运行

    ./configure
    

    然后

    bazel build --config=monolithic --cxxopt=--std=c++11 //tensorflow/tools/benchmark:benchmark_model --config=android_arm64 --cpu=arm64-v8a --fat_apk_cpu=arm64-v8a
    
    推荐文章