编译Android版本TensorFlow

在Ubuntu 18.04 LTS 下编译Tensorflow的Android库的步骤:

  1. 安装Android Studio/Android sdk
  2. 安装Android NDK(Android NDK可以单独安装也可以通过Android Studio的SDK插件安装, 怎么安装略)
  3. 安装 能够编译Tensorflow的对应版本的Bazel, TensorFlow和 Bazel 有对应关系的(我也不知道具体的对应关系,早先tensorflow版本无提示,后来版本的tensorflow有不提示),我使用的是 tensorflow-1.15.0和bazel-0.26.1
sudo apt-get install pkg-config zip g++ zlib1g-dev unzip

从 https://github.com/bazelbuild/bazel/releases?after=1.1.0 下载 bazel 0.26.1 的可执行文件
bazel-0.26.1-installer-linux-x86_64.sh 或者 bazel_0.26.1-linux-x86_64.deb

安装方法

$ chmod +x bazel-0.26.1-installer-linux-x86_64.sh
$ ./bazel-0.26.1-installer-linux-x86_64.sh --user

或者

双击 bazel_0.26.1-linux-x86_64.deb 文件安装

或者

sudo dpkg -i bazel_0.26.1-linux-x86_64.deb
  1. 下载需要编译的版本的Tensorflow源代码,或者git clone ,随意, 一般从 branches 中找 Active 版本的 TensorFlow, 比如目前的 r1.15/r2.1/r2.0/r2.2, 不推荐那些 Stale 版本, Stale 就是老掉牙的意思, 别看成稳定版了
  2. 安装python,还有protobuf等库类,这个可以在具体的编译过程查漏补缺,也可以按照官网的依赖直接安装完
  3. 到tensorflow的目录下, ./configure,配置相关的变量,选项,如 android SDK、NDK等
  4. 可以考虑配置一下网络环境, TensorFlow 在编译过程中, 需要从 github.com 下载一些小的 压缩包之类的, 但是网速非常慢, 可以配置一下 /etc/host 镜像 ip 提高 速度

7.1 这里使用 https://www.ipaddress.com/ ,分别查询下面的域名 对应的ip 然后插入到 /etc/host 下面

192.30.253.112 github.com
151.101.185.194 github.global.ssl.fastly.net
192.30.253.120 codeload.github.com

7.2 重启服务 sudo /etc/init.d/networking restart

  1. 编译so文件,在目录bazel-bin/tensorflow/contrib/android 找到编译的 libtensorflow_inference.so 拷贝到需要防止的位置,继续进行下一步的操作,不拷贝的话,后面的编译会把前面的覆盖。
 # bazel build -c opt //tensorflow/contrib/android:libtensorflow_inference.so --crosstool_top=//external:android/crosstool --host_crosstool_top=@bazel_tools//tools/cpp:toolchain --cpu=arm64-v8a 

#根据需要修改对应的参数,主要就是target 板子的CPU架构

  1. 编译jar包,在目录 bazel-bin/tensorflow/contrib/android 下找到 libandroid_tensorflow_inference_java.jar,拷贝到具体的位置备用。
	bazel build  //tensorflow/contrib/android:android_tensorflow_inference_java

编译 android_demo

	bazel build -c opt --config=arm-v8a //tensorflow/examples/android:tensorflow_demo

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/242608.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

银监会周末突发4号文件,18年贷款比想象的要难

2018年1月13日,星期六,当大家都还在过周末的时候,银监会突然印发了《关于进一步深化整治银行业市场乱象的通知》(以下简称《通知》),通知要求在全国范围内进一步深化整治银行业市场乱象,切实巩固…

FPGA内部硬件结构与代码的关系

FPGA内部硬件结构与代码的关系 I/O的映射 给一个输入信号,然后不进行任何逻辑运算直接输出。 module line(input wire in,output wire out);assign out = in; endmodule组合逻辑的映射 module line(input wire in1,input wire in2,output wire out);assign out = in1 &a…

消费金融资金断流,银行抽贷、通道暂停,P2P离场

最近消费金融发展可谓焦躁不安,监管加压,资金断流,客户流失、逾期飙升,来自各方面的压力,让消费金融,特别是现金贷的出路前途未卜。01消费金融在中国有点水土不服消费金融在我国的发展是最近几年才兴起的&a…

SKF密码设备研究

密码设备 mToken GM3000 国密身份认证锁是龙脉科技自主研发设计支持国密算法、完全遵照国家密码管理局颁布的《智能IC卡及智能密码钥匙密码应用接口规范》要求设计的USB Key,采用国产高性能智能卡芯片,内置SSF33、SM1、SM2、SM3、SM4等国产算法&#xf…

微信礼仪测试,你能及格吗?

插图:annie.Z“群主,我可以打个广告吗?”还没等我回复,对方已经把自己产品的介绍丢在了微信群。提醒他撤回,刚刚还在发信息的他突然不见了。2分钟后又出现,“不好意思啊群主,超过2分钟不能撤回了…

AMBA总线介绍

AMBA总线介绍 系统总线简介 系统芯片中各个模块之间需要要有接口来连接 总线作为子系统之间共享的通信链路 优点:低成本,方便易用 缺点:会造成性能颈瓶 AMBA:Advanced Microcontroller Bus Architecture。片总线的标准 定义了三…

gradle之gradlew最全指令攻略

Gradle是一个构建工具,它是用来帮助我们构建app的,构建包括编译、打包等过程。我们可以为Gradle指定构建规则,然后它就会根据我们的“命令”自动为我们构建app。Android Studio中默认就使用Gradle来完成应用的构建,除此之外我们可…

去杠杆高歌猛进,借呗会倒闭吗?

最近马云烦心事貌似挺多的,从收购美国大型汇款公司MoneyGram(速汇金)被否,到支付宝年度账单默认勾选协议“惹祸”被监管约谈,再到消费金融业务因高杠杆或触及监管红线引发关注,蚂蚁金服的2018年开年看起来不…

能过好每一天的人,都不会混得太差

-1-朋友发来一张很有意思的图片。计划2018年坚持写日记,算了,还是坚持发朋友圈吧。计划读10本书,算了,9本吧,要不干脆8本?不行就7本?好了好了,只读1本。……如果没有猜错的话&#x…

贷款杠杆为什么非去不可?危险比你想象的要恐怖

最近金融监管势头很猛,一浪高过一浪,去杠杆,降风险已经成为了当前监管的主调。近日,银监会主席郭树清向媒体透露2018年的监管风向:监管部门要着力抑制居民杠杆率,并提出要坚决打好防范化解重大风险。那为什…

AMBA AHB介绍

AMBA AHB介绍 AHB是为提出高性能可综合设计的要求而产生的新一代AMBA总线。它是一种支持多总线主机和提供高带宽操作的高性能总线。 AMBA AHB实现了高性能,高时钟频率系统的以下特征要求: 突发传输分块处理单周期总线主机移交非三态执行更宽的数据总线…

春节期间,哪些信用卡取现不用手续费?

马上要过年了,用钱的地方多了去,一不小心口袋就变得空空了,如果过年没钱了怎么办呢?借亲戚?能拉下那个脸吗?借贷款?过年期间贷款机构关门歇业!打牌赢钱?你想多了&#xf…

碎片化学习的三大障碍及破解之道

-1-周末参加线下活动,因为一直专注时间管理文章的分享,有幸作为嘉宾讲了一点自己的感悟。主办方给的主题叫做:如何规划你的2018年。接触时间管理越久,越清楚地认识到自我的局限,明白做计划也是一项非常重要的能力&…

AMBA APB介绍

AMBA APB APB是AMBA总线体系中的一部分并且优化了最小功率消耗和降低了接口复杂度。 AMBA APB表现为一个局部二级总线,封装为AHB或者ASB的一个外设。APB在AHB和ASB信号的基础上直接为系统总线提高了低功耗的延伸。 APB桥作为一个从模块处理总线握手并且从局部外设总线的角度控…

涉案金额600万!微粒贷诈骗团伙被警方一锅端

微粒贷诱人,可惜很多人没有,但是为了开通微粒贷,很多朋友使了浑身解数,到最后却发现微粒贷没有开通,却被坑了不少钱。1微粒贷强开团伙很嚣张,骗去600万不吐骨头“你好,我们是‘未来之行’网络公…

一年中什么时候申请房贷最容易下款?

小编有一个朋友,去年9月份在深圳买了一套二手房,去某行申请的贷款,当时银行就说贷款可能没有那么快审批下来,这个朋友也知道当时政策紧,平时20几天就能办理的贷款,可能需要两个月才能办下来,但心…

三极管原理

三极管原理 三极管有三种工作状态:截止区、放大区、饱和区。 截止状态:三极管处于关断状态放大状态:三极管处于电流放大状态。总结:三极管放大状态下IC会随着IB的增大而增大,减小而减小,即IC受控于IB。饱和…

复数幅值近似估计

作者:桂。 时间:2018-01-27 19:52:57 链接:http://www.cnblogs.com/xingshansi/p/8367063.html 前言 本文摘自:《复数信号模值近似计算及硬件实现》 正文 硬件具体实现流程不再赘述。

为什么现在很多人放弃借呗、微粒贷,转向信用卡?

借呗和微粒贷作为网贷界的两大网红,深得大家追棒,甚至有很多朋友不惜冒着被坑的风险要去开通借呗、微粒贷。但是我们会发现,尽管很努力,借呗,微粒贷就是不给有些人开通,时间久了没有借呗或微粒贷的人估计也…

电路板调试

电路板调试 调试的常用仪器有:稳压电源、万用表、示波器、频谱分析仪和信号发生器等。 调试的意义有:通过调试使电子线路达到规定的指标;通过调试发现设计中存在的缺陷并给予纠正。 电路调试的一般步骤: 简单的系统 电源调试-&g…