当我尝试在Android NDK中加载冻结模型时,为什么没有注册任何操作?

厄洛尔迪

我想通过ndk和cmake使用c ++ tensorflow API,我可以创建该库,但是当我尝试加载图形时,加载冻结的模型时会出现很多这样的错误:

E /本地:op_kernel.cc:1148 OpKernel(“ op:“ PopulationCount” device_type:“ CPU”约束{名称:“ T” allowed_values {列表{类型:DT_INT32}}}}'),用于未知操作:PopulationCount

因此,我了解到我的库不支持该操作。我是否需要添加另一个库来支持这些操作?

我基于此Cmakelist创建了Cmake脚本,并使用build_android_all.sh脚本构建了armeabi-v7a的依赖项。

这是我的cmake脚本的样子:

cmake_minimum_required(VERSION 3.4.1)
include(ExternalProject)
SET(PROJECT_NAME tf_native_lib)
SET(OpenCV_FOUND true )
SET(PREBUILT_DIR ${TENSORFLOW_ROOT_DIR}/tensorflow/contrib/makefile/gen)
SET(TARGET_NSYNC_LIB ${TENSORFLOW_ROOT_DIR}/tensorflow/contrib/makefile    /downloads/nsync/builds/${ANDROID_ABI}.android.c++11)
FIND_PACKAGE(OpenCV REQUIRED)

add_library( # Sets the name of the library.
             ${PROJECT_NAME}
             SHARED
             src/main/cpp/native-lib.h
             src/main/cpp/native-lib.cpp
             src/main/cpp/TensorflowInferenceHandler.h
             src/main/cpp/TensorflowInferenceHandler.cpp
             )

add_library(lib_proto STATIC IMPORTED )
set_target_properties(lib_proto PROPERTIES IMPORTED_LOCATION
${PREBUILT_DIR}/protobuf_android/${ANDROID_ABI}/lib/libprotobuf.a)

add_library(lib_nsync STATIC IMPORTED )
set_target_properties(lib_nsync PROPERTIES IMPORTED_LOCATION
   ${TARGET_NSYNC_LIB}/libnsync.a)

add_library(lib_tf STATIC IMPORTED )
set_target_properties(lib_tf PROPERTIES IMPORTED_LOCATION
${PREBUILT_DIR}/lib/android_${ANDROID_ABI}/libtensorflow-core.a)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DIS_SLIM_BUILD \
                      -std=c++11 -fno-rtti -fno-exceptions \
                      -O2 -Wno-narrowing -fomit-frame-pointer \
                      -mfpu=neon -mfloat-abi=softfp -fPIE -fPIC \
                      -ftemplate-depth=900 \
                      -DGOOGLE_PROTOBUF_NO_RTTI \
                      -DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER")

 set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} \
                               -Wl,--allow-multiple-definition \
                               -Wl,--whole-archive \
                               -fPIE -pie -v")



# MESSAGE("tensorflow lib dir ${TENSORFLOW_LIB_DIR}")

target_link_libraries( # Specifies the target library.
                       ${PROJECT_NAME}
                       ${OpenCV_LIBS}
                       android
                       dl
                       log
                       m
                       z
                       jnigraphics
                       lib_tf
                       lib_proto
                       lib_nsync)

include_directories(
                   ${OPENCV_INCLUDE_DIRS}
                   ${PREBUILT_DIR}/proto
                   ${PREBUILT_DIR}/protobuf_android/${ANDROID_ABI}/include
                   ${PREBUILT_DIR}/nsync/public
                   ${TENSORFLOW_ROOT_DIR}/tensorflow/contrib/makefile/downloads/eigen
                   ${TENSORFLOW_ROOT_DIR}/bazel-tensorflow/external/nsync/public
                   ${TENSORFLOW_ROOT_DIR}/bazel-genfiles
                   ${TENSORFLOW_ROOT_DIR}
                   ../../../cpp_utils)

如果这不可能,那么将tensorflow_inference.so与我的Jni Sources链接的源代码在哪里?

提前致谢。

乌奈

苏吉特·波德尔(Sujit Poudel)

PopulationCount和其他几个行动在声明tensorflow/core/ops/bitwise_ops.cc将该文件添加到的末尾/tensorflow/contrib/makefile/tf_op_files.txt然后重新编译Tensorflow那对我有用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

当我尝试用Postman测试我的API时为什么没有传递任何参数?

来自分类Java

当我尝试在Android中创建目录时没有任何反应

来自分类Dev

当我尝试在Android Studio中导入项目时没有任何反应

来自分类Dev

每当我尝试选择文本时,为什么我的Android UI表现得很奇怪?

来自分类Dev

当我尝试在 VueJS 中加载组件时,为什么会出现此错误?

来自分类Dev

为什么当我尝试打开我的 android studio 项目时会出现构建错误?

来自分类Java

当我尝试在Button上使用setText()时,为什么Android Studio显示错误?

来自分类Dev

当我尝试通过我的应用程序注册时,我没有得到任何响应

来自分类Dev

当我尝试添加VLC时,为什么SETX没有更新我的PATH?(Windows 7的)

来自分类Dev

当我尝试从班级外部访问字段时,为什么没有调用我的getter方法?

来自分类Dev

当我尝试打开活动时,Android应用程序崩溃

来自分类Java

每当我打开项目时,Android Studio都会尝试下载gradle版本

来自分类Java

当我尝试在Android Studio 3上构建apk时,出现错误

来自分类Dev

当我尝试更新onPostExecute(...)方法中的字段时,Android应用程序崩溃

来自分类Dev

当我尝试在Android Studio中扩展ImageView时收到错误消息

来自分类Dev

当我尝试重新登录时,Android应用程序崩溃

来自分类Dev

Android Studio:当我尝试添加RecyclerView时显示警告框

来自分类Dev

当我尝试在Android Studio中完成辩论时出现错误

来自分类Dev

当我尝试在Android中使用Mandrill SMTP发送电子邮件时出错

来自分类Dev

当我尝试运行 flutter 项目时缺少 android.jar

来自分类Dev

当我尝试删除元素时出错

来自分类Dev

当我尝试打开目录时出错

来自分类Dev

当我尝试删除文件时,为什么Plupload容器没有响应?

来自分类Dev

当我尝试增加堆空间时,Java CLI为什么没有反应?

来自分类Java

当我尝试覆盖静态方法时,为什么编译器没有抱怨?

来自分类Dev

为什么当我尝试激活 Python 虚拟环境时却没有?

来自分类Dev

当我尝试在Git中删除文件夹时,为什么没有“ pathspec”?

来自分类Dev

为什么当我尝试打印文件中的行列表时没有输出?

来自分类Dev

当我尝试复制一个字符串时,Android NDK strcpy 崩溃

Related 相关文章

  1. 1

    当我尝试用Postman测试我的API时为什么没有传递任何参数?

  2. 2

    当我尝试在Android中创建目录时没有任何反应

  3. 3

    当我尝试在Android Studio中导入项目时没有任何反应

  4. 4

    每当我尝试选择文本时,为什么我的Android UI表现得很奇怪?

  5. 5

    当我尝试在 VueJS 中加载组件时,为什么会出现此错误?

  6. 6

    为什么当我尝试打开我的 android studio 项目时会出现构建错误?

  7. 7

    当我尝试在Button上使用setText()时,为什么Android Studio显示错误?

  8. 8

    当我尝试通过我的应用程序注册时,我没有得到任何响应

  9. 9

    当我尝试添加VLC时,为什么SETX没有更新我的PATH?(Windows 7的)

  10. 10

    当我尝试从班级外部访问字段时,为什么没有调用我的getter方法?

  11. 11

    当我尝试打开活动时,Android应用程序崩溃

  12. 12

    每当我打开项目时,Android Studio都会尝试下载gradle版本

  13. 13

    当我尝试在Android Studio 3上构建apk时,出现错误

  14. 14

    当我尝试更新onPostExecute(...)方法中的字段时,Android应用程序崩溃

  15. 15

    当我尝试在Android Studio中扩展ImageView时收到错误消息

  16. 16

    当我尝试重新登录时,Android应用程序崩溃

  17. 17

    Android Studio:当我尝试添加RecyclerView时显示警告框

  18. 18

    当我尝试在Android Studio中完成辩论时出现错误

  19. 19

    当我尝试在Android中使用Mandrill SMTP发送电子邮件时出错

  20. 20

    当我尝试运行 flutter 项目时缺少 android.jar

  21. 21

    当我尝试删除元素时出错

  22. 22

    当我尝试打开目录时出错

  23. 23

    当我尝试删除文件时,为什么Plupload容器没有响应?

  24. 24

    当我尝试增加堆空间时,Java CLI为什么没有反应?

  25. 25

    当我尝试覆盖静态方法时,为什么编译器没有抱怨?

  26. 26

    为什么当我尝试激活 Python 虚拟环境时却没有?

  27. 27

    当我尝试在Git中删除文件夹时,为什么没有“ pathspec”?

  28. 28

    为什么当我尝试打印文件中的行列表时没有输出?

  29. 29

    当我尝试复制一个字符串时,Android NDK strcpy 崩溃

热门标签

归档