Ubuntu TensorFlow 源码 Android Demo的编译运行
Ubuntu TensorFlow 源码 Android Demo的编译运行
一、 安装 Android 的SDK和NDK
SDK 配置
A:下载
国内下载地址选最新的:
SDK:
https://developer.android.google.cn/studio/index.html
也可以下载一个旧的再update
NDK:
https://developer.android.google.cn/ndk/downloads/index.html
B:解压 配置环境变量
sudo tar -zxvf android-sdk_r26.0.1-linux.tgz
sudo unzip android-ndk-r14b-linux-x86_64.zip
SDK更新(如果是最新的无需更新)
cd ~/sdk/android-sdk-linux
sudo tools/android update sdk --no-ui
C:配置环境变量
打开.bashrc 最后添加一行(主要更改目录)
PATH="/home/dyufei/sdk/android-sdk-linux/tools:/home/dyufei/sdk/android-sdk-linux/platform-tools:/home/dyufei/sdk/android-sdk-linux/build-tools:${PATH}"
D: 使环境变量生效
source .bashrc
二、 TensorFlow 源码下载、配置
源码的下载、编译、安装请参考: http://www.cnblogs.com/dyufei/p/8027517.html
1)下载tensorflow 源码
git clone https://github.com/tensorflow/tensorflow
2)配置TensorFlow 的WORKSPACE
在 TensorFlow 的根目录下,找到WORKSPACE,将注释了的SDK和NDK的部分打开,修改成自己的SDK和JDK的目录和对应的版本
#Uncomment and update the paths in these entries to build the Android demo.
android_sdk_repository(
name = "androidsdk",
api_level = 25,
# Ensure that you have the build_tools_version below installed in the
# SDK manager as it updates periodically.
build_tools_version = "27.0.2",
# Replace with path to Android SDK on your system
path = "/home/dyufei/sdk/android-sdk-linux/",
)
android_ndk_repository(
name="androidndk",
path="/home/dyufei/sdk/android-ndk-r14b/",
# 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)
3)编译Android Demo APK
在 TensorFlow 的根目录下,执行下面命令编译:
bazel build //tensorflow/examples/android:tensorflow_demo
编译完成后生成三个文件:
(在bazel-bin/tensorflow/examples/android/目录下)
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: 201.760s, Critical Path: 69.16s
INFO: Build completed successfully, 784 total actions
4)在手机上运行
好了,大功告成!
将tensorflow_demo.apk 安装到手机上,看看效果吧
Ubuntu TensorFlow 源码 Android Demo的编译运行的更多相关文章
- ubuntu下载源码clang + llvm+lldb 编译+安装
[本文可能涉及到Ubuntu安装以下工具:] A.g++ B.gcc C.make D.cmake E.clang(10.0.1)(必须) F.llvm(10.0.1)(必须) G.lldb(10.0 ...
- tensorflow源码分析
前言: 一般来说,如果安装tensorflow主要目的是为了调试些小程序的话,只要下载相应的包,然后,直接使用pip install tensorflow即可. 但有时我们需要将Tensorflow的 ...
- 【转】Android 4.3源码的下载和编译环境的安装及编译
原文网址:http://jingyan.baidu.com/article/c85b7a641200e0003bac95a3.html 告诉windows用户一个不好的消息,windows环境下没法 ...
- 【转】Android 源码下利用jni编译自己的项目(参考系统development/samples/SimpleJNI)
原文网址:http://blog.csdn.net/qiuxiaolong007/article/details/7860481 记于正文前:环境是ubuntu10.10,android 源码是2.0 ...
- 编译TensorFlow源码
编译TensorFlow源码 参考: https://www.tensorflow.org/install/install_sources https://github.com/tensorflo ...
- 从 Android 源码到 apk 的编译打包流程
文中涉及到的工具所在目录:Android/sdk/build-tools.下面开始分解并逐步实现对源码的打包. 编译流程 1. 生成仅包含资源文件的 apk 包和 R.java 文件 根据资源文件和 ...
- APK 的前世今生:从 Android 源码到 apk 的编译打包流程
最近想要研究热修复的原理,并自己实现一套简单的热修复框架(音视频的坑刚挖好就又挖另一个坑了2333),已经在看书入门 c++,方便后续查看业内一些知名热修复框架的源码,另外在涉及编译期/运行时修改代码 ...
- Atitit.反编译apk android源码以及防止反编译apk
Atitit.反编译apk android源码以及防止反编译apk 1.1. Tool apk逆向助手1 1.2. 二.使用dex2jar + jd-gui 得到apk的java源码1 1.3. 用 ...
- Android源码的下载、编译与导入到Android Studio【转】
本文转载自:http://wl9739.github.io/2016/05/09/Android%E6%BA%90%E7%A0%81%E7%9A%84%E4%B8%8B%E8%BD%BD%E3%80% ...
随机推荐
- c语言的,三个工具可以使编译器生成性能更佳的代码。
内联函数声明inline 函数有时可以非常短.短函数的每次调用可以用实现该函数功能的内联代码替代,以提高执行性能.意味着不需要给函数传递或返回一个值,要让编译器采用这种技术,可以把短函数指定为inli ...
- 前端的UI设计与交互之色彩篇
一.颜色Red热情.警示 Green成功.通过.安全 Blue专业.科技 Pink典雅.明快.女性 Orange醒目.温暖 Purple高雅.浪漫 Yellow活力.提示 Cyan清新.冷静.结构化 ...
- CSS与JS中的相对路径引用
javascript和css文件中采用相对路径,其基准路径是完全不同的. 1.javascript引用资源(比如图片)相对路径是以宿主路径(被引用的网页比如你在首页index.php引用了某js文件, ...
- G彩娱乐网【分享】想要开源自己的代码可以参考一下
作为一个开发者,如果你打算开源自己的代码,千万不要忘记,选择一种开源许可证(license). 许多开发者对开源许可证了解很少,不清楚有哪些许可证,应该怎么选择.本文介绍开源许可证的基本知识,主要参考 ...
- HTML学习笔记 cs2D3D展示基础 第十四节 (原创) 参考使用表
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- CSS3 动画 animation和@keyframes
CSS3 @keyframes 规则 如需在 CSS3 中创建动画,您需要学习 @keyframes 规则. @keyframes 规则用于创建动画.在 @keyframes 中规定某项 CSS 样式 ...
- JavaScript 面试中常见算法问题详解
1.阐述下 JavaScript 中的变量提升 所谓提升,顾名思义即是 JavaScript 会将所有的声明提升到当前作用域的顶部.这也就意味着我们可以在某个变量声明前就使用该变量,不过虽然 Java ...
- hiero_v2.0的下载安装和使用
程序地址:http://www.n4te.com/hiero/hiero.jnlp http://slick.cokeandcode.com/demos/hiero.jnlp(目测该网址需翻*墙才能进 ...
- ubuntu server小技巧(不定期更新)
0.常用工具apt安装包名 # ssh服务器工具 apt-get install openssh-server # RabbitMQapt-get install rabbitmq-server # ...
- Python之mysql数据库更新表数据接口实现
昨天,因为项目需求要添加表的更新接口,来存储预测模型训练的数据. 先码为敬~~~~~~~ # -*- coding: utf-8 -*- import pymysql import settings ...