【发布时间】:2018-08-03 03:27:44
【问题描述】:
在 Ubuntu 16.04 中,当使用我的 protobuf 文件运行 Android Tensorflow TFDetect 实现时,我收到一条错误消息,指出 “没有注册 OpKernel 以支持 Op 'ceil'”。我必须修改移动构建以包含正确的 .cc 文件,然后在重建 Tensorflow 后继续运行以下命令来构建 jar:
bazel build -c opt //tensorflow/contrib/android:libtensorflow_inference.so
--crosstool_top=//external:android/crosstool --host_crosstool_top=@bazel_tools//tools/cpp:toolchain --cpu=armeabi-v7a
然后我收到错误消息,指出由于缺少 stdlib.h,构建未完成:
在包含的文件中 外部/androidndk/ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/algorithm:62: 在包含的文件中 外部/androidndk/ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/bits/stl_algo.h:59: 外部/androidndk/ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/cstdlib:72:10: 致命错误:找不到“stdlib.h”文件
我看到许多其他人被告知要使用预构建的二进制文件,但这对我不起作用,因为我需要一些额外的内核,这些内核被剥离用于移动设备。
有人对我如何构建必要的 android jar 有任何想法吗?
【问题讨论】:
标签: android tensorflow python-3.5