TensorFlow 在android上的Demo(1)

轉載時請註明出處: 修雨軒陳html

系統環境說明:java

------------------------------------linux

操做系統 : ubunt 14.03 _ x86_64 操做系統android

內存: 8GBgit

硬盤 500Ggithub

------------------------------------ubuntu

1、編譯TensorFlow在android上的Demo

1.1 搭建環境

l 下載tensorFlow工具

首先,選擇一個目錄用git命令下載tensorFlow 在github上的源碼, 以下所示:測試

clip_image002

TensorFlow下載完畢以後,在tensorflow/tensorflow/examples/android/ 目錄下面是android的示例。ui

l 搭建android環境

1. 搭建Java 環境

Ubunt 64下的java環境再也不贅述,給出操做說明:

http://jingyan.baidu.com/article/5d368d1e12a1af3f60c0570a.html

PS 須要說明的是最好將JRE_HOME也設置出來。

2. 搭建SDK 環境

下載並解壓SDK Tools:

此處給出SDK的下載地址:

http://www.androiddevtools.cn/

若是感受android SDK版本不夠高,能夠經過下載android Studio 2.1,而後用android Srtudio中的下載工具下載。給出android Studio 下載地址:(不須要設置代理或鏡像地址)

https://developer.android.com/studio/index.html

clip_image004

SDK下載以後,使用unzip 命令解壓目錄以下:

下載SDKTools以後,會獲得這樣的目錄

clip_image005

查看android-sdk-linux目錄:

其目錄中有一下文件:

android-sdk-linux

|----add-ons : Google API

|----platforms : 用於存放android Level API .

|----platform-tools: 各版本SDK。根據API Level劃分的SDK版本

|----tools : 各版本SDK通用工具。好比adb、和aapt、aidl、dx等文件

|----temp : 臨時夾,通常在SDK更新安裝時用到.

如圖所示(PS 圖中標紅的目錄是搭建android完整環境隨後手動添加的,這些目錄和文件隨後也會用到)

clip_image007

接下來是安裝Build_tools , 這個文件是android 開發所需的Build_Tools,下載並解壓出整個文件夾賦值或者是移動到<你的SDK的目錄>/build-tools 文件夾便可.

若是感受麻煩, 能夠經過安裝Android Studio IDE , 並利用IDE自帶的android pakage Manager

幫助下載.

3. 搭建NDK環境

NDK的話 ,我在一箇中文地址上找到了, 在ubuntu中下載android-ndk-r11b-linux-x86_64.zip 便可.

http://www.androiddevtools.cn/

clip_image009

NDK的目錄很全 , 自行解壓便可 , 不須要添加任何文件.

l 安裝Bazel

Bazel是一個構建工具,即一個能夠運行編譯和測試來組裝軟件的工具,跟Make、Ant、Gradle、Buck、Pants和Maven同樣。這個工具將在之後編譯的時候用到.

根據閱讀ReadME可知:

https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/android

如何在Bazel .

1.2 編譯Demo

首先修改tensorflow的根目錄中的WORKSPACE

clip_image010

clip_image012

修改完畢以後 , 能夠在目錄先用bazel構建

clip_image014

1.3 運行

在編譯成功以後 , 默認會在tensorflow/bazel-bin/tensorflow/examples/android 目錄下面

生成咱們想要的tensorFlow Demo

clip_image016

2、錯誤以及解決方法

bazel-out/host/bin/external/androidsdk/aapt_binary.runfiles/androidsdk/build-tools/23.0.1/aapt: erro

clip_image018

ERROR: /home/master/programes/android/tensorflow/tensorflow/examples/android/BUILD:47:1: Processing Android resources for //tensorflow/examples/android:tensorflow_demo failed: namespace-sandbox failed: error executing command /home/master/.cache/bazel/_bazel_master/65c2377a99cb38c469b4db23ae21783d/execroot/tensorflow/_bin/namespace-sandbox ... (remaining 28 argument(s) skipped).

解決方案 :

自習查看 log 能夠知道:

error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or dir

因而猜想 : error的緣由是:

1 在WORKSPACE中配置的時候有問題.

2 ubuntu自身的問題

因而知道了: 是ubuntu64 bit中缺乏32位的部分類庫 , 因而執行一下命令進行安裝:

clip_image020

clip_image021

clip_image023

最後編譯成功: 如圖所示:

clip_image025

參考文獻:

http://www.cnblogs.com/tao560532/p/4249084.html

http://stackoverflow.com/questions/16588969/android-hello-world-compile-error-intellij-cannot-find-aapt

https://developer.android.com/studio/releases/build-tools.html

http://stackoverflow.com/questions/17020298/android-sdks-build-tools-17-0-0-aapt-error-while-loading-shared-libraries-libz

http://blog.csdn.net/g457499940/article/details/38718549

http://forums.xamarin.com/discussion/20505/error-xa5205-cannot-find-aapt-exe-please-install-the-android-sdk-build-tools-package

http://blog.csdn.net/wei220000/article/details/50985609

相關文章
相關標籤/搜索