当前位置: 首页 > 知识库问答 >
问题:

为arm64-v8a构建libtensorflow_cc.so的问题

麻桐
2023-03-14

我正在尝试使用bazel为android for arm64-v8a构建libtensorflow_cc.so体系结构

需求

我试图为android for arm64-v8a架构构建'libtensorflow_cc.so'。我需要它在运行时通过C++在Android NDK中创建和训练一个模型文件。我能够在桌面上使用C++并借助'libtensorflow_cc.so'生成

bazel build-c opt//tensorflow:libtensorflow_cc.so

因此,使用以下代码为arm64-v8a构建libtensorflow_cc.so

代码

bazel build-c opt//tensorflow:libtensorflow_cc.so--crosstool_top=//external:Android/crosstool-host_crosstool_top=@bazel_tools//tools/cpp:toolchain--cpu=arm64-v8a

共有1个答案

澹台星剑
2023-03-14

要修复最初的“no opkernel”错误,您需要将使用的操作添加到tensorflow/core/kernels/build中的android_extended_ops_group1目标:https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/kernels/build#l4568

您可以在TF for Mobile电子书中找到更多关于为什么需要这样做的详细信息,请参见:http://www.oreilly.com/data/free/building-mobile-applications-with-tensorflow.csp

 类似资料:
  • 我需要为一个Android arm64-v8a设备构建一个Qt应用程序。 这些设备应该能够运行QtCreator支持的armv7a二进制文件(请参见arm64-v8a是否与ARMEABI-V7a兼容?)。但是我在arm64-v8a上的应用程序在armeabi-v7a上工作时遇到了故障,所以我想直接为arm64-v8a构建应用程序并再次测试。 经过一些搜索,我最终尝试使用以下命令配置Qt(qt-ev

  • 对于我的Android应用程序,我现在使用的是ABI“x86”和“armeabi”。armeabi用于所有ARM设备,包括armv7a和ARM64-V8A。

  • 我有一个库,我用它为我的旧Android系统构建。今天我正在构建新的架构,我在gradle中进行了正确的配置,并且我解压了我的apk,我可以在中找到我的库。我没有这个库的源代码,所以我使用了以前为构建的源代码。但我得到的错误如下: <代码>2020-11-17 20:56:23.039 130 83-13556/?w/system.err:java.lang.unsatistifiedLinkEr

  • 我正在尝试创建一个.so库,包含OpenCV C++代码。我设置了一些非常基本的东西--使用visual studio构建项目,使用“动态共享库(Android)”模板。 我从以下网址下载了Android OpenCV SDK:https://OpenCV.org/releases/ E0035#错误指令:此构造函数尚未移植到此平台文件:C:\microsoft\androidndk64\andr

  • 我试图改变我的应用程序,以支持32位和64位,但当我改变build.gradle这样。 但当我对其进行分级时,错误将显示如下 错误: 在DefaultConfig_Decorated{name=main,dimension=null,minSdkVersion=DefaultApiVersion{mApiLevel=15,mCodename='null'},targetSdkVersion=Def

  • 我在文件夹下复制了必要的.so文件,并使用jni接口在android ndk项目中配置了以下文件。在运行项目时,它会抛出如下所示的错误。