如何使用 Bazel 交叉编译 TensorFlow Lite for ARM64(Linux)



我正在尝试在带有Linux的amd64上为Linux构建'arm64-v8a'的tensorflow lite。我按照指南构建库libtensorflow-lite.a.但是我发现TensorFlow Lite仍然有很长的TensorFlow操作尚未得到TensorFlow Lite的原生支持,因此我希望Select TensorFlow运算符在TensorFlow Lite中使用。从指南中我应该重新编译库,我使用命令bazel build -c opt //tensorflow/lite:libtensorflowlite.so --cpu=arm64-v8a,我得到以下错误:

/home/wang/.cache/bazel/_bazel_wang/c72f4772665ac4cb0690414b07635968/external/local_config_cc/BUILD:45:1: in cc_toolchain_suite rule @local_config_cc//:toolchain: cc_toolchain_suite '@local_config_cc//:toolchain' does not contain a toolchain for cpu 'arm64-v8a'

我是 bazel 新手,找不到详细的演练。我该怎么办?

我的 tensorflow-lite 构建命令是这样的,它完成没有错误:

bazel build -c opt --fat_apk_cpu=arm64-v8a 
--host_crosstool_top=@bazel_tools//tools/cpp:toolchain 
//tensorflow/lite/java:tensorflow-lite

由于错误引用了工具链,因此可能需要检查您的 Java NDK 安装。 工具链位于子目录中:

$ANDROID_SDK_HOME/ndk/someversionnumber/toolchains/llvm/prebuilt/linux-x86_64

最新更新