Android中运行TensorFlow程序1-运行官方demo

本文详述如何在Android设备上运行TensorFlow官方Demo。首先从GitHub下载示例代码,然后在Android Studio中打开并修改build.gradle文件。接着,安装bazel、Android NDK和SDK以满足编译需求。通过bazel编译生成APK,并在手机上安装运行。教程覆盖了从下载源码到最终部署的全过程。
摘要由CSDN通过智能技术生成

参考了网站https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/android

运行网站上的Demo。

下载

首先,我们从网上下载示例代码,使用如下命令。

git clone --recurse-submodules https://github.com/tensorflow/tensorflow.git

上述命令把TensorFlow全部下载下下来了。

打开Android Studio,选择open,导航到Tensorflow/tensorflow/example/android中。

修改配置

编辑build.gradle文件,把nativeBuildSystem的值从bazel修改为none。使project能够以最简单的方式进行编译。

编译

对所有类型的编译,第一步都是下载Tensorflow repo。

git clone --recurse-submodules https://github.com/tensorflow/tensorflow.git

使用bazel编译

bazel方法还不支持在Windows系统中编译生成Android程序。

安装bazel和Android依赖条件

bazel是tensorflow主要的构建系统。要使用bazel来构建,你的系统应该安装了tensorflow、Android NDK和SDK。

安装最新版本的bazel

参考我之前的博客http://blog.csdn.net/nicholas_wong/article/details/76474751

安装Android NDK

从网站https://developer.android.com/ndk/downloads/older_releases.html#ndk-12b-downloads下载最新版的Linux64-bit(x86)版本。
下载需要一段时间,下载之后怎么安装一会儿再写。

安装Android SDK

这个可以在Android Studio中选择安装,需要注意的是,Build Tools API要高于23。

编辑WORKSPACE

编辑tensorflow/WORKSPACE,取消对以下内容的注释


# Uncomment and update the paths in these entries to build the Android demo.
#android_sdk_repository(
#    name = "androidsdk",
#    api_level = 23,
#    # Ensure that you have the build_tools_version below installed in the
#    # SDK manager as it updates periodically.
#    build_tools_version = "25.0.2",
#    # Replace with path to Android SDK on your system
#    path = "<PATH_TO_SDK>",
#)
#
# Android NDK r12b is recommended (higher may cause issues with Bazel)
#android_ndk_repository(
#    name="androidndk",
#    path="<PATH_TO_NDK>",
#    # This needs to be 14 or higher to compile TensorFlow.
#    # Please specify API level to >= 21 to build for 64-bit
#    # archtectures or the Android NDK will automatically select biggest
#    # API level that it supports without notice.
#    # Note that the NDK version is not the API level.
#    api_level=14)

修改为如下内容

android_sdk_repository(
    name = "androidsdk",
    api_level = 26,
    # Ensure that you have the build_tools_version below installed in the
    # SDK manager as it updates periodically.
    build_tools_version = "25.0.2",
    # Replace with path to Android SDK on your system
    path = "/twsz/home/Android/Sdk/",
)

# Android NDK r12b is recommended (higher may cause issues with Bazel)
android_ndk_repository(
    name="androidndk",
    path="/twsz/home/Android/Ndk/android-ndk-r12b/",
    # This needs to be 14 or higher to compile TensorFlow.
    # Please specify API level to >= 21 to build for 64-bit
    # archtectures or the Android NDK will automatically select biggest
    # API level that it supports without notice.
    # Note that the NDK version is not the API level.
    api_level=26)

需要注意的是,在这里,你要把两个path修改成为SDK和NDK对应的路径,同时api_level要修改成为你本机安装的最高版本的API,build_tools_version应该是你安装有的版本。

安装模型文件(可选的)
Build APK

tensorflow/中运行如下命令

bazel build -c opt //tensorflow/examples/android:tensorflow_demo

需要一段时间。
出现如下信息说明成功。

Target //tensorflow/examples/android:tensorflow_demo up-to-date:
  bazel-bin/tensorflow/examples/android/tensorflow_demo_deploy.jar
  bazel-bin/tensorflow/examples/android/tensorflow_demo_unsigned.apk
  bazel-bin/tensorflow/examples/android/tensorflow_demo.apk
INFO: Elapsed time: 452.830s, Critical Path: 67.29s
INFO: Build completed successfully, 938 total actions
在手机上安装APK

使用如下命令

adb install -r bazel-bin/tensorflow/examples/android/tensorflow_demo.apk

在手机上会安装三个应用,点击对应图标,启动应用。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值